PDFiumPas ist eine umfassende, professionelle Komponentenbibliothek, die leistungsstarke Funktionen zur PDF-Verarbeitung und -Anzeige in Delphi- und C++Builder-Anwendungen bringt. Aufgebaut auf der robusten PDFium-Rendering-Engine von Google, stellt sie Entwicklern eine vollständige Lösung zur Integration von PDF-Funktionalität in Desktop-Anwendungen bereit.
Die Bibliothek besteht aus zwei Hauptkomponenten, die nahtlos zusammenarbeiten: TPdf für die Dokumentverarbeitung und -manipulation sowie TPdfView für die interaktive visuelle Darstellung. Ob Sie einen einfachen PDF-Viewer, ein komplexes Dokumentenmanagementsystem entwickeln oder PDF-Funktionen in bestehende Anwendungen integrieren möchten – PDFiumPas bietet die Werkzeuge und Flexibilität, die Sie benötigen.
Als Herzstück des PDF-Verarbeitungssystems übernimmt TPdf sämtliche Operationen auf Dokumentebene, einschließlich Laden, Speichern, Textextraktion, Formularverarbeitung und Metadatenverwaltung.
Ein anspruchsvolles visuelles Steuerelement, das eine umfassende PDF-Anzeigeerfahrung mit vollständigen Benutzerinteraktionsmöglichkeiten bietet.
TStream-Adaptern über LoadCustomDocumentSaveAsPdfA / SaveAsPdfAToStream mit mitgeliefertem sRGB-ICC-Profil und Unterstützung benutzerdefinierter ProfileValidatePdfA und die schreibgeschützte Eigenschaft PdfAConformanceImportPagesByIndex (Teilmengen-Import), ImportNPagesToOne (N-up-Raster), MovePages (Umsortierung an Ort und Stelle)CreateXObjectFromPage und InsertFormObjectFromXObjectRenderPageProgressive und IPdfCancellationTokenFitMode bestimmt, wie die Seite im Ansichtsbereich sitzt (manueller Zoom, Originalgröße, Seite anpassen, Breite anpassen); wird bei Resize / Seitenwechsel automatisch erneut angewendetPageColor trennt den gerenderten PDF-Seitenhintergrund von der Color-Eigenschaft des umgebenden Steuerelements – ideal für Dark-Mode-ViewerHighlightSearchText und ClearHighlightPageShadowSize / PageShadowColor) und Seitenrahmen (PageBorderColor)LinkOptions) sowie den Ereignissen OnAnnotationLinkClick / OnWebLinkClickAllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection) für Kioske und schreibgeschützte EinbettungenTPdfThumbnailView| Aspekt | Details |
|---|---|
| Rendering-Engine | Google PDFium – industrieweit etablierte, praxiserprobte PDF-Engine |
| PDF-Unterstützung | PDF-Versionen 1.0 bis 1.7, verschlüsselte und passwortgeschützte Dateien |
| Plattformkompatibilität | Windows-Anwendungen in 32-Bit und 64-Bit |
| IDE-Unterstützung | Delphi XE5 / C++Builder XE5 (RAD Studio XE5) bis Delphi/C++Builder 13.1 Florence (RAD Studio 13.1), Lazarus 3.8+ |
| Zeichenkodierung | Vollständige Unicode-Unterstützung, mehrsprachige Textverarbeitung |
| Speicherverwaltung | Optimiert für große Dokumente, effiziente Ressourcennutzung |
| Thread-Sicherheit | Single-Threaded-Design (entsprechend den PDFium-Anforderungen) |
PDFiumPas folgt einem geschichteten Architekturmuster, das die Zuständigkeiten sauber trennt und die Wiederverwendbarkeit des Codes maximiert:
| Schicht | Dateien | Verantwortung |
|---|---|---|
| VCL-Komponenten | PDFium.pas, FPdfThumbnail.pas | Delphi-VCL-Komponenten (TPdf, TPdfView, TPdfThumbnailView) mit Designzeit-Unterstützung |
| API-Bindings | FPdfView.pas, FPdfDoc.pas, FPdfText.pas, FPdfEdit.pas, FPdfAnnot.pas, FPdfFormFill.pas, FPdfPageOps.pas, FPdfAttachment.pas, FPdfSignature.pas, FPdfStructTree.pas, FPdfDataAvail.pas, FPdfExtensions.pas, FPdfFWLEvent.pas, FPdfCompress.pas, FPdfUtils.pas | Funktionszeiger-Deklarationen für PDFium-DLL-Aufrufe |
| PDF/A-Pipeline | FPdfPdfa.pas | PDF/A-1b-Erstellung (XMP-Einfügung, sRGB-ICC-OutputIntent, Catalog-Update) und Validierung (Konformitätserkennung, Problemauflistung) |
| Async-Infrastruktur | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, PdfNoCancellationToken-Singleton und TPdfFuture<T>-Helfer für lang laufende Rendering- und Exportarbeiten |
| Geometrie-Helfer | FPdfMatrix.pas | OO-Wrapper um FS_MATRIX mit Helfern für Translate, Scale, Rotate, Flip, Skew und Multiply |
| Seitenoperationen | FPdfPageOps.pas | Wrapper für FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages, sowie Form-XObject-Helfer (CreateXObjectFromPage / InsertFormObjectFromXObject) |
| Miniaturansicht-Seitenpanel | FPdfThumbnail.pas | TPdfThumbnailView – scrollbares Miniaturansichts-Panel pro Seite mit Hover, Auswahl und OnPageClick-Navigation |
| Native Engine | DLLs\Win32|Win64\pdfium.dll und pdfium.v8.dll | Native Rendering-Engine Google PDFium, mit optionalen V8-aktivierten Builds |
PDFiumPas ist auf sofortige Produktivität ausgelegt. Die Komponentenbibliothek enthält:
Egal, ob Sie einen einfachen PDF-Viewer oder ein komplexes Dokumentverarbeitungssystem entwickeln – PDFiumPas bildet das Fundament für professionelle PDF-Funktionalität in Ihren Delphi- und C++Builder-Anwendungen.