【问题标题】:VB6 app printing Crystal Report to Adobe Distiller PDF - how to set PDF filename?VB6 应用程序将 Crystal Report 打印到 Adob​​e Distiller PDF - 如何设置 PDF 文件名?
【发布时间】:2011-02-06 04:31:32
【问题描述】:

我有一个正在维护的旧版应用程序。这是一个 VB6 应用程序,它调用 Crystal Report(它看起来像 Crystal 8),然后以编程方式打印到默认打印机,该打印机设置为 Acrobat Distiller (v5.0)。当它打印为 PDF 时,它会自动将生成的 PDF 放入文件夹 (c:\pdf) 并将其命名为水晶报表的前 5 个字符文件名。发生的情况是 filename 前面具有相同字符的两个报告一个接一个地打印出来,第二个报告覆盖了第一个。

  1. 是否有关于蒸馏器如何产生输出的设置?我可以调整输出路径或文件名吗?哪里/为什么只使用报告 filename 的前五个字符作为输出?还是说是水晶功能?

  2. 从 Crystal 打印时,有没有办法定义输出 PDF 文件名?它正在像这样打印报告:

With CrPt
        .Connect = "DSN=" & Trim(sServerName) & ";UID=usernam;PWD=password;DSQ=database"
        .ReportFileName = sReport
        .Formulas(0) = "version=""" & App.Major & "." & App.Minor & "." & App.Revision & """"
        .Destination = crptToPrinter
        .Action = 1
    End With

有什么想法吗?

【问题讨论】:

  • 顺便说一句,我喜欢你的描述。详细易读

标签: pdf vb6 crystal-reports acrobat


【解决方案1】:

我认为这只是一个代码 sn-p,整个过程还有更多内容。尝试在整个 VB6 代码中搜索Sreport。如果您能找到 Sreport 的定义方式,那可能会回答您的问题。

我猜某处是这样的一句话,

Sreport="C:\pdf\" & left(somevar,5)

把 5 改成 10 就可以了。

【讨论】:

  • CrPt 是水晶报表对象; sReport 是 .rpt 文件的完整路径文件名。我确实找到了输出文件夹的设置位置,它似乎是 Adob​​e Distiller 打印机设备上端口的功能。我认为 PDF 的命名约定是某种 Distiller 默认值...我想我可以设置一个选项来提示输入文件名,但这可能会破坏其他依赖自动化的进程。我想我最终要在 SSRS 中重新创建报告并让用户运行它……VB6/Crystal/Adobe 的组合是一团糟。
  • 啊。在那种情况下,我的建议是错误的,因为我误解了你的问题。如果您正在寻找替代方案,我建议您使用 Visual Cut。使用 VC,您可以将 .rpt 导出为 .pdf 并使用 1 个批处理命令行进行打印。它将把 VB6 和 Adob​​e 排除在外。如果需要,您还可以按组群发报表。
猜你喜欢
  • 1970-01-01
  • 2013-04-08
  • 2014-03-10
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 2012-09-06
  • 2011-05-14
  • 2013-09-19
相关资源
最近更新 更多