首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >到RightFax的ActiveReports接口

到RightFax的ActiveReports接口
EN

Stack Overflow用户
提问于 2013-01-15 09:45:23
回答 2查看 571关注 0票数 0

我正在尝试向公司的RightFax服务器发送ActiveReports格式的报告,并预先设置了一些传真字段,如传真号码、发件人和收件人。RightFax文档指出,文档必须包含用于设置这些值的嵌入式代码,例如<TOFAXNUM:12345556789><TONAME:Recipient><FROMNAME:Sender>。我在ActiveReports中创建了一个包含此文本的TextBox或标签。但是,当RightFax接收到文档并打开RightFax客户端UI时,不会设置这些值。嵌入的代码保留在传真图像中。我将RightFax打印机驱动程序设置为HP LaserJet 4。我使用Visual Studio2010专业版在C#中进行开发。

网络上的一个建议是确保嵌入的代码设置为Courier或另一种“打印机字体”。但是,Visual Studio没有"Courier“或"Times Roman",只有MS true type版本的这些标准字体,"Courier New”和"Times New Roman“。

这种发送传真的方法是在另一台使用相同RightFax服务器的机器上使用不使用ActiveReports的旧软件。

如果您能分享将ActiveReports连接到RightFax的任何经验,我们将不胜感激。

谢谢,

格雷格·洛贝尔

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-15 14:00:04

您可以通过控制整个打印过程并使用Windows API发送转义序列来完成任务。我假定您使用的是ActiveReports 7的ActiveReports 6或基于节的报表。

更详细地说:

  • 创建自己的PrintDocument并定义PrintPage处理程序
  • 在PrintPage处理程序中使用and winapi调用将转义序列发送到打印机(请参见通过调用Page.Draw()

来显示页面本身的示例

票数 0
EN

Stack Overflow用户

发布于 2013-01-24 05:49:29

只要您使用的是true type字体,打印机就应该能够识别该字体并能够“读取”其中的文本。只有旧的位图字体才是打印机可能无法读取的字体。通常在windows上常用的TT字体,如"Courier New“或"Times New Roman",已经在打印机中,所以它们甚至不会被下载。

但是,您可能希望尝试在ActiveReports中使用转义代码。此外,here是使用ActiveReports6中的SystemPrinter对象将转义代码直接发送到打印机的示例,而无需使用任何特殊的API。您可以尝试使用该代码,并将其中的转义代码替换为RightFax能够理解的代码。

最后,ActiveReports本质上是通过从打印机获取图形并在其上绘图来进行打印。文本框是使用适当的文本命令绘制的真实文本(即文本不呈现为位图)。这是现代windows中的一种常规打印方式,因此任何打印机都应将文本视为普通文本。通过用.NET编写自己的简单打印代码并将其发送到RightFax驱动程序,您应该可以看到相同的结果。如果它在那里工作,那么它也会在ActiveReports中工作。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14329919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档