VB 6.0 Crystal Reports d'Exportation au format PDF
Je vais avoir des problèmes avec la déclaration d'un fichier de Crystal Reports au format PDF. J'ai regardé toutes les autres questions ici sur la question, mais aucun d'entre eux semblent résoudre le mien.
Voici mon code:
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
Maintenant, j'ai laissé les autres options en plus de PDF juste pour leur montrer, ils sont tous commentés évidemment, mais si j'ai essayer tout les autres formats, il exporte très bien. Le seul format qui n'est pas à l'exportation est le PDF. Il me donne l'erreur:
Erreur d'exécution '-2147190908 (80047784)':
Pas réussi à Exporter le Rapport.
Lorsque je clique sur le Débogage, il met en évidence sur les ReportObject.Exporter la Fausse ligne.
Sur une autre note, si je le fais, de sorte que l'utilisateur choisit les options, je peux sélectionner PDF et il me donne toujours la même erreur. Merci pour l'aide.
(Grâce à l'AVD pour le codage trouvé ici Comment faire pour Exporter vers un fichier PDF dans un Rapport Crystal?).
EDIT: Après être passé par Phillipe réponses, j'ai été pas à pas à travers mon code et remarqué qu'après il a assigné crEFTPortableDocFormat à FormatType, il s'auto attribue "UXFPDF.DLL" pour FormatDllName. Peut-être que c'est mon problème, personne ne sait comment résoudre ce problème? J'ai essayé simplement en renommant crxf_pdf.dll et aussi u2fpdf.dll (celui qui a été pour 8.0 qui j'ai eu à l'origine) mais cela ne fonctionne pas.
EDIT: une Autre découverte, c'est que quand j'active l'Option d'Exportation dans CRViewer91 (qui montre le rapport de correctement) et j'ai essayer de l'exporter au format pdf par le biais de cette méthode, il ne fait pas d'erreur. Toutefois, il enregistre un fichier qui est corrompu assez bien et ne peut pas être ouvert.
EDIT: Plus de recherche. Le CRViewer91 ne semble pas être en mesure d'exporter n'importe quel format avec succès. RTF et TXT retour d'un document vierge, RPT des erreurs lorsque vous essayez d'ouvrir.
EDIT: je pense qu'une partie de mon problème est peut-être que j'ai été en utilisant la 8.0 CRAXRT.DLL quand ce que j'ai réellement besoin est la 9.0 un. J'ai trouvé l'un pour la 9.0, maintenant comment puis-je utiliser à la place de l'ancien?
Vous devez vous connecter pour publier un commentaire.
Je suppose que le " nom " de la valeur ne fonctionne pas, soit parce que le dossier n'existe pas /le nom de fichier n'est pas valide, ou parce que vous n'avez pas les droits pour créer un fichier dans ce dossier.
Pourriez-vous essayer le code avec quelques paramètres basiques comme " filename = "c:\test.pdf"'?
Mon dernier deviner: la possibilité de les exporter au format pdf doit avoir un fichier dll sous le cristal de dossier (n'a pas besoin d'être enregistrés, mais doit être ici). Avez-vous le crxf_pdf.dll fichier ?
EDIT:
Ma dernière question: êtes-vous en mesure d'expor tto fichier PDF à partir de Cristal de GUI?
Voici une liste de crystal report des fichiers qui doivent être distribués avec une application VB, si de toute aide: les capacités d'exportation semblent être liés à la crxf_*.les fichiers dll
Je ne suis pas exactement sûr de ce qui a été à l'origine de toutes les erreurs, mais, je l'ai fixé via essentiellement le démarrage d'un nouveau projet à partir de zéro et en intégrant uniquement les références nécessaires et les composants. Je sais qu'un problème que j'ai eu (ce qui a provoqué une TLV erreur) que la CRAXDRT.dll pour CR9 a été dans le répertoire Windows\system32, et même s'il faisait référence à ça .dll, il est nécessaire de référencer le dossier Program Files\Fichiers Communs\CrystalDecision... répertoire où tous les autres .dll pour CR9 sont situés.
Il y a également une légère modification du code qui doit être fait, voici la version finale du code qui fonctionne pour l'exportation de la mine au format PDF.
J'ai laissé le commentaire sur FormatTypes là pour quelqu'un d'autre qui trouve ce code utile. Philippe, si vous voulez "répondre" présent en quelque sorte comme cela, j'aimerais vous donner quelques rep pour votre aide que vous avez fourni cependant. Je n'ai pas assez de rep à juste upvote votre stuff, donc.
Merci à tous pour votre aide de toute façon.
Dan