通过 PDF 打印机打印 QRP 会导致页脚被截断,我可以防止这种情况发生吗?

Printing a QRP via a PDF printer results in cut-off footer, can I prevent this?

我正在使用 TD 4.1 编写的 ERP 程序通过 QRP 生成各种发票、运输清单和类似文件。 当我的客户只是定期从程序中将这些打印到普通打印机上时,结果很好。 客户还通过 FreePDF XP 将它们打印为 PDF,这发生在打印对话框中(FreePDF XP 被选为打印机)。 这导致部分右侧和页脚被截断。

格式方面,报告使用 A4 纸张样式,页边距为上=0.8,下=0.85,左=0.95,右=1.0。 PDF 打印机也设置为 A4,但没有边距设置可用。

我正在寻找救命稻草,但有什么方法可以从报告中或以编程方式完成这项工作,还是纯粹在打印机驱动程序方面?

哦,遗憾的是,减少 width/height 不是这些文档的选项。

遗憾的是您没有使用较新的版本。使用 TD5 和更新版本,您可以使用集成的 Report Builder 创建 PDF,因此您不需要任何第 3 方工具。 一些想法:

  • SalReportPrintToFile() 并通过电子邮件发送文件。
  • SalPrtSetParmNum( PRT_nMarginTop, nMargin)(即通过 TD 应用调整 PDF 的页边距)
  • 为 PDF 准备一个单独的 .qrp,其中较大的页边距已在 qrp 中预设。
  1. 是否也可以尝试在另一台 pdf 打印机上输出?如果可能,也可以尝试在其他 pdf 打印机(如 PDF24Creator)上输出。
  2. 如果在版本 4.1 中可用,请查看 SalReportSetPrinterSettings( ) 函数及其参数。 bOk = SalReportSetPrinterSettings (hWndReport, strPrinterName, nOrientation, nPaperType, nWidth, nHeight)

SalReportSetPrinterSettings 函数在运行时设置打印机属性。该函数可以从 SAM_ReportStart 消息的消息操作中调用。 在参数中传递无效值会导致该参数被忽略,而将使用默认设置。

3.If可行可以试试第三方付费工具,比如BullZipPDFPrinter.apt,可以和TD集成。