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

通过PDF打印机打印QRP会导致截断页脚,我可以防止这种情况吗?,pdf,guptateamdeveloper,centura,Pdf,Guptateamdeveloper,Centura,我通过TD 4.1编写的ERP程序,通过QRP生成各种发票、运输舱单和类似文件。 当我的客户只是定期从程序打印到普通打印机上时,结果很好。 客户还通过FreePDF XP将其打印到PDF,这是通过打印对话框实现的(选择FreePDF XP作为打印机)。 这将导致部分右侧和页脚被切断 格式方面,报告使用纸张样式A4,页边距为顶部=0.8,底部=0.85,左侧=0.95,右侧=1.0。PDF打印机也设置为A4,但没有可用的页边距设置 我在这里是在抓救命稻草,但是有没有什么方法可以在报告中或可能以编程

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

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

我在这里是在抓救命稻草,但是有没有什么方法可以在报告中或可能以编程方式完成这项工作,或者这仅仅是在打印机驱动程序方面


哦,遗憾的是,降低宽度/高度不是这些文档的选项。

遗憾的是,您没有使用更新的版本。使用TD5和更新版本,您可以使用集成报表生成器创建PDF,因此不需要任何第三方工具。 两个想法:

  • SalReportPrintToFile()并通过电子邮件发送该文件
  • SalPrtSetParmNum(PRT_nMarginTop,nMargin)(即通过TD应用程序调整PDF的页边距)
  • 为PDF单独设置一个.qrp,其中较大的页边距已在qrp中预设
  • 是否也可以在另一台pdf打印机上尝试输出?如果可能,也可以在其他PDFP打印机(如PDF24Creator)上尝试输出
  • 如果在版本4.1中可用,请查看SalReportSetPrinterSettings()函数及其参数。 bOk=SalReportSetPrinterSettings(HwnReport、strInterName、nOrientation、nPaperType、nWidth、nHeight)
  • SalReportSetPrinterSettings函数在运行时设置打印机属性。可以从SAM_ReportStart消息的消息操作调用该函数。 在参数中传递无效值会导致忽略该参数,并将使用默认设置


    3.如果可行,可以尝试第三方付费工具,如BullzippedFprinter.apt,您可以使用TD

    真可怜。我们在6.3上进行了积极的开发,但我们的许多客户都安装了旧版本的系统,如果让我们移植到新版本以使其可行,这将花费他们太多的成本,所以我想我还是坚持使用它。我不知道更新版本中的ReportBuilder可以生成PDF,但是我需要研究一下。但是SalReportSetPrinterSettings()设置文档的高度和宽度,而不是边距-他明确表示“降低宽度/高度不是这些文档的选项”