我有一个用 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\"