从嵌入在 Visual Basic 程序中的 Crystal Reports 打印到 PDFCreator

从嵌入在 Visual Basic 程序中的 Crystal Reports 打印到 PDFCreator

我有一个用 VB6 编写的旧版应用程序,使用 Crystal Reports 8(不是 8.5 - 只是 8)。

我需要做的是弄清楚如何以编程方式生成或导出报告的 PDF 版本。

显然 CR 8 无法导出为 PDF - 这显然是 8.5 附带的功能。或者至少在我拥有的版本中似乎有问题。

因此我尝试使用 PDFCreator,并尝试通过 VB6 内部可见且可访问的 COM 对象来控制它。

问题就在这里...我想在程序中生成 pdf,不需要用户参与。所以我想能够告诉 PDFCreator 在哪里创建文件、如何命名等等,并且我希望能够告诉 Crystal Reports 将报告打印到 PDFCreator。

不幸的是,我找不到正确的调用方式没有让用户看到一个弹出窗口,询问他们将 PDF 保存在哪里以及如何调用它。

我知道 PDFCreator 的 COM 对象似乎功能齐全,但实际的文档和示例(至少要完成我想要做的事情)似乎很少。

还有人能给我一些想法吗?

答案1

我从未使用过 pdfcreator,但快速浏览后,我发现有一个名为“UseAutoSave”的选项,其默认值为 0。据推测,结合其他一些选项,您可以指定自动保存目录和文件名。希望这是您询问的正确的“pdfcreator”。

这 (http://www.excelguru.ca/content.php?186) 页面讨论了重置默认选项,并列出了许多选项的代码:

.cOption("UseAutosave") = 0
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = "\"
        .cOption("AutosaveFilename") = ""
        .cOption("AutosaveFormat") = 0
        .cOption("UseCreationdate") = vbNullString
        .cOption("UseStandardAuthor") = 0
        .cOption("PDFUseSecurity") = 0
        .cOption("PDFUserPass") = 0
        .cOption("PDFUserPassString") = vbNullString
        .cOption("PDFOwnerPass") = 1
        .cOption("PDFOwnerPassString") = vbNullString
        .cOption("PDFEncryptor") = 0
        .cOption("PDFDisallowCopy") = 1
        .cOption("PDFDisallowPrinting") = 0
        .cOption("PDFDisallowModifyContents") = 0
        .cOption("PDFDisallowModifyAnnotations") = 0
        .cOption("PrinterTempPath") = "PDFCreator\"

相关内容