Home

Delphi / C++Builder Entwicklung - Kontakt

Reng-EDV

Inhaber:
Karl-Heinz Reng

Kreuzbergstr. 32
94036 Passau

Tel.: +49 0851 7564191
Fax.: +49 0851 7564192

E-Mail: RengKH@t-online.de



Ein paar Informationen zu Delphi/C++Builder:
Zu diesem Thema können Sie weitere Informationen unter obiger Kontaktadresse erhalten.



PowerPDF / Turbopower Pack und die Fehlermeldung Class Arial not found when using PowerPDF



So, da ruft man Getit auf, findet für PDF das Turbopower Pack Produkt, PowerPDF, installiert es, generiert ein Projekt und

Class Arial not found when using PowerPDF


Mist.

Die Lösung für Delphi 10.x und höher:

zum Verzeichnis c:\users\public\documents\embarcadero\studio

wechseln und dann die Version, ich verwende 23.0 jetzt mal, und dann BPL. Da sind die beiden Einträge für POWERPDF.
Diese beiden Package Dateien sind beide fehlerhaft. Sollte man auch noch einen Win64 Eintrag vorfinden (Projektdateien für 64 Bit) dann ist alles ok.

Jetzt suchen wir mal den Quelltext. Der befindet sich unter, ( Pfad mit Explorer, deutsches Windows)

c:\benutzer\"Benutzerordner"*\Dokumente\Embarcadero\Studio\23.0\Catalogrepository\PowerPDF-12 (<- 12, wegen Delphi 12, hier entsprechend das dann anpassen).

Nach Verzeichnis source wechseln und Preport.pas öffnen, (es reicht Notepad / Editor, was man schnell findet, halt)

Zum Ende der Kommentarzeilen blättern

Man findet das

unit PReport;

interface

//{$DEFINE USE_JPFONTS}
//{$DEFINE USE_GBFONTS}

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.Forms,Vcl.ExtCtrls,
PdfDoc,
PdfTypes,
PdfImages,
{$IFDEF USE_JPFONTS}
, PdfJPFonts
{$ENDIF}
{$IFDEF USE_GBFONTS}
, PdfGBFonts
{$ENDIF}

Diese beiden Kommentarzeilen sind der Grund //{$DEFINE USE_JPFONTS}
//{$DEFINE USE_GBFONTS}


Auskommentiert, keine bedingte Kompilierung entweder mit JpFonts oder GPFonts.
Eine dieser Units müßte rein, WENN, wir in Asien oder GB... sind

Wir wählen PDFFonts.pas, und schreiben das dann etwas um:

//{$DEFINE USE_JPFONTS}
//{$DEFINE USE_GBFONTS}

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Classes,Vcl.Graphics,Vcl.Controls,
Vcl.Forms,Vcl.ExtCtrls,
PdfDoc,
PdfTypes,
PdfImages,
PdfFonts;
// Das unten, brauchen wir nicht, lassen wir aber mal auskommentiert drinnen.
//{$IFDEF USE_JPFONTS}
//, PdfJPFonts
//{$ENDIF}
//{$IFDEF USE_GBFONTS}
//, PdfGBFonts
//{$ENDIF}


Delphi starten, die Projektdateien PowerPDFDD.proj und PowerPDFDr.proj der Reihe nach in Delphi laden und alle Optionen, Win32 , Win64, Debug , Release erstellen.

Dann, wenn nicht Delphi 11 und höher im Einsatz, über die Option, Komponente, Packages installieren, NUR PowerPDFDD aus dem BCPL Verzeichnis, installieren.

Wird die Runtime ausgewählt, gibt es bei jedem Delphi Start eine hässliche Fehlermeldung.
Kann man unterdrücken, und die unnötige Runtime Version nachträglich wieder emtfernen.

Anmerkung: An dieser Stelle ist Delphi / CBuilder IDE etwas genwöhungsbedürftig. Seit Version 1.0 leider nichts verbessert! Benutzerunfreundlich!

Testprojekt anlegen.. und es reicht, nur Preport, Prpage, PrLayoutcontrol (Wichtig, sonst eine Fehlermeldung, wenn ein Control ( Label,Edit ) plaziert wird),
also nach Layoutcontrol oder Gridlayoutcontrol, dann ein Label und ein Editcontrol.

Erstellen, ausführen, läuft, wenn man Delphi 11.x / 12.x mit GetIt die PowerPDF Installation durchführen kann.

Bei der Installation mit Delphi, jetzt mal Version 10.x, muss man die Quellen aus dem Verzeichnis Source in Delphi einbinden.
Kopieren aller Dateien in das eigene Quellverzeichnis, kann man machen.

Besser unter Tools->Optionen->Sprache->Delphi-Optionen->Bibliothek in der Delphi IDE den Pfad zu der Quelle hinterlegen.
Bibliothekspfad, erste Zeile, in dem Dialog verwenden, und für alle Zielplattformen den Pfad hinterlegen, also Win32 und Win64 für POWERPdf.
Die POWERPDF-Runtine, POWERPDFDr Projekt, des Tools, nicht vergessen, mitliefern. Über die Package Optionen kann diese Unit die Runtime als Standard für jedes Projekt mitliefern.

Besser nicht!

Eine minimale Dokumentation findet man im Verzeichnis PowerPDF-xx unter dem NamenPOWERPDFref.pdf.

0.9.Beta, naja, aber besser als nix.

So, daß hilft vielleicht.

Anmerkung
*Benutzername : In der Regel identisch mit dem Login-/Anmeldenamen, Windows.