我在將Crystal Reports文件報告爲PDF格式時遇到了問題。我已經看過關於這個問題的所有其他問題,但他們都沒有解決我的問題。VB 6.0 Crystal Reports導出爲PDF
這裏是我的代碼:
Public Sub ExportReportToPDF(ReportObject As CRAXDRT.Report, ByVal filename As String, ByVal ReportTitle As String)
Dim objExportOptions As CRAXDRT.ExportOptions
ReportObject.ReportTitle = ReportTitle
With ReportObject
.EnableParameterPrompting = False
.MorePrintEngineErrorMessages = True
End With
Set objExportOptions = ReportObject.ExportOptions
With objExportOptions
.DestinationType = crEDTDiskFile
.DiskFileName = filename
'.FormatType = crEFTExcel80Tabular
'.FormatType = crEFTCommaSeparatedValues
'.FormatType = crEFTExcel80
'.FormatType = crEFTHTML32Standard
'.FormatType = crEFTHTML40
.FormatType = crEFTPortableDocFormat
'.FormatType = crEFTRichText
'.FormatType = crEFTText
'.FormatType = crEFTWordForWindows
End With
ReportObject.Export False
End Sub
現在,我已經離開PDF之外的其他選擇在那裏只是爲了告訴他們,他們都註釋掉很明顯,但如果我嘗試任何其他的格式,它輸出很好。唯一不導出的格式是PDF。它給我錯誤:
運行時錯誤'-2147190908(80047784)': 無法導出報告。
當我點擊調試它高亮ReportObject.Export False行。
在另一方面,如果我做它,因此用戶選擇的選項,我可以選擇PDF,它仍然給了我同樣的錯誤。謝謝您的幫助。
(感謝AVD編碼How to Export to a PDF file in Crystal Report?)。
編輯:通過Phillipe的迴應後,我正在通過我的代碼,並注意到它將crEFTPortableDocFormat分配給FormatType後,它會自動將「UXFPDF.DLL」分配給FormatDllName。也許這是我的問題,有誰知道如何解決這個問題?我嘗試了重命名crxf_pdf.dll和u2fpdf.dll(這是我原來使用的8.0版本),但沒有奏效。
編輯:另一個發現是,當我能夠在CRViewer91導出選項(可正確顯示報告),我試圖通過這種方法這個導出爲PDF,它沒有錯誤。但是,它保存了一個幾乎損壞且無法打開的文件。
編輯:更多研究。 CRViewer91似乎無法成功導出任何格式。 RTF和TXT在嘗試打開時返回空白文檔,RPT錯誤。
編輯:我想我的問題的一部分,可能是我一直使用的是8.0 CRAXRT.DLL當我真正需要的是一個9.0。我已經找到了9.0版本,現在我該如何使用它而不是舊版本?
很高興知道它的作品!這絕對不是一個編碼問題。 Crystal Reports(至少10個版本)在涉及到dll管理時相當隱祕。如果您計劃在具有不同語言和區域設置的計算機上部署Crystal Reports,請注意。 –