连接到RightFax的activeports接口



我正在尝试将activerports格式的报告发送到我公司的RightFax服务器,并预先设置了一些传真字段,如传真号码、发件人和收件人。RightFax文档说文档必须包含嵌入式代码来设置这些值,例如<TOFAXNUM:12345556789><TONAME:Recipient><FROMNAME:Sender>。我在activeports中创建了一个包含此文本的文本框或标签。但是,当RightFax接收到文档并调出RightFax客户端UI时,没有设置这些值。嵌入代码保留在传真图像中。我把RightFax打印机驱动程序设置为HP LaserJet 4。我正在用c#开发,使用Visual Studio 2010 Professional。

网上的一个建议是确保嵌入代码设置为Courier或其他"打印机字体"。但是,Visual Studio没有"Courier"或"Times Roman",只有这些标准字体的MS真实版本,"Courier New"one_answers"Times New Roman"。

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

如果您能分享activerports与RightFax接口的任何经验,我将不胜感激。

谢谢,Gregg Lobdell

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

详细说明:

  • 创建自己的PrintDocument并定义PrintPage处理程序
  • PrintPage处理程序中的
  • 使用escape winapi调用向打印机发送转义序列(参见CodeProject中的示例)
  • 通过调用page . draw ()
  • 来渲染页面本身

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

然而,RightFax确实有一些关于转义码的文档,所以你可能想尝试在ActiveReports中使用转义码。另外,这里有一个使用ActiveReports6中的SystemPrinter对象直接向打印机发送转义码而不使用任何特殊API的示例。您可以尝试使用该代码并将转义代码替换为RightFax可以理解的转义代码。

最后,ActiveReports本质上是通过从打印机获取图形并在其上绘图来打印的。文本框是用适当的文本命令绘制的真实文本(即文本是而不是呈现为位图)。这是现代窗口中正常的打印方式,因此任何打印机都应该将文本视为正常文本。通过在。net中编写自己的简单打印代码并将其发送给RightFax驱动程序,您应该能够看到相同的结果。如果它在那里工作,它将在activerports中工作。

如果它不起作用,上面的转义码技巧也不起作用,我想下一个合乎逻辑的步骤是联系RightFax并询问他们如何从。net应用程序打印到他们的驱动程序。

希望这对你有帮助!

相关内容

  • 没有找到相关文章

最新更新