TPDFImage 1.5

MPL 1.1 / LGPL V.3 mit Sourcecode für private und kommerzielle Nutzung.

Die Klasse TPDFImage registriert sich als Grafikklasse für PDF Dateien bei TPicture. Mit den Delphikomponenten  TImage und TPicture kann dann ein PDF geöffnet werden. Es stehen erweiterte Eigenschaften zu Verfügung um die angezeigte Seite zu wechseln oder die Auflösung / Zoomfaktor einzustellen.

Diese Komponente verwendet die Ghostscript API (gsdll32.dll) als Renderer um das PDF-Dokument seitenweise in eine Bitmap zu konvertieren die dann über den normalen „Delphi Weg“ angezeigt, bearbeitet und auch gedruckt werden kann. Damit können PDF-Dokumente in Delphi angezeigt werden ohne das der Acrobat Reader auf dem Rechner installiert sein muss.

NEU Version 1.2:

  • Schnelleres Ermitteln der Seitenanzahl bei großen PDF Dateien (> 200 Seiten).
  • Ghostscript API umgestellt auf dynamisches Laden.
  • Alle erforderlich Dateien (gsdll32.dll und die Ordner /lib und /fonts) enthalten.
    Inhalte der Ordner auf ein Minimum reduziert.
  • Globale Variablen steuern die Pfade zur DLL und den Ordnern /lib und /fonts.

NEU Version 1.3:

  • Durch Verwendung der Komponente SynPDF (Freeware mit Source) kann über
    das Kompilerdefine USESYNPDF die Erstellung von PDF Dateien freigeschalten
    werden. (SynPDF nicht im Download enthalten. Download z.B. bei Torry’s).
  • Extrahieren von PDF Seiten, Anhängen an bestehende PDF Dateien
  • DLL Handle nun lokal in TPDFImage für multiple instancing.

NEU Version 1.4:

  •  getestet und optimiert für die Verwendung in multithreaded Programmen.
    (Globale Variable „MultiThreaded“ beachten)
  • diverse kleinere Korrekturen.

NEU Version 1.5:

  • kleinere Korrekturen für Delphi 7 und höher.

NEU Version 1.6:

  • Anpassung für Delphi Versionen die mit PAnsiChar / PWideChar arbeiten.

Ein Demoprojekt wie ein einfacher PDF-Viewer aussehen könnte ist enthalten.

Download Version 1.5 (older Delphi using pChar)
Download Version 1.6 (Newer Delphi using pAnsiChar) 
Anleitung TPDFImage (DE)
Manual TPDFImage (EN)