Kernkomponenten
- TPdf – Haupt-Komponente zur PDF-Dokumentverarbeitung für das Öffnen, Navigieren, Extrahieren von Text und Bearbeiten von PDF-Dokumenten
- TPdfView – Visuelle Komponente zur Anzeige und Interaktion mit PDF-Seiten
- TPdfReadingSession – Vorlese-Orchestrierungskomponente für TTS-Engines des Hosts und Wort-Tracking in TPdfView
- TPdfThumbnailView – Scrollbares Miniaturansichts-Seitenpanel zur Seitennavigation
- Native LCL-Plattformen - Linux Qt6 und macOS Cocoa nutzen natives PDFium, korrekte LP64-Bindungen, Plattformschrift-/Dateidienste und reale Bitmapkanallayouts; native Einrichtung beschreibt qualifizierte Free-Pascal/LCL-Konfigurationen und Grenzen
Dokumentoperationen
- Dokument laden – Laden von PDF-Dateien von Datenträger, Speicher-Streams, vollständigen Byte-Arrays, null-basierten
Index/Count-Byte-Array-Fenstern oder bedarfsgesteuerten TStream-Adaptern überLoadCustomDocument. Compatible-, strict- und recovery-Richtlinien ergänzen begrenzte Diagnosen für klassische, hybride und xref-stream-basierte Strukturen, ohne PDFiums semantischen Parser zu ersetzen- Verifizierte reparierte Ausgabe –
SaveAsRepairederzeugt eine vollständige Kopie mit einzelner Revision und führt vor der Rückgabe der Bytes oder dem atomaren Ersetzen einer Datei einen unabhängigen strikten Ladevorgang ihrer xref- und Seitenstruktur durch- Typisierter Objektgraph –
ExportObjectGraphgibt begrenzten typisierten JSON-Code für direkte Werte und Object-Stream-Werte aus, währendSaveAsObjectGraphPatchedvalidierte Änderungen auf Dictionary-Ebene als gestaffelte inkrementelle Revision anwendet und das Ergebnis vor der Auslieferung strikt lädt- Passwortschutz – Öffnen passwortgeschützter PDF-Dokumente und Meldung der wirksamen
UserPermissionsfür die authentifizierte Sitzung- Dokument erstellen – Erzeugen neuer PDF-Dokumente von Grund auf mit
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageundCreatePath- Dokument speichern – Speichern bearbeiteter Dokumente mit verschiedenen Optionen (inkrementell, Sicherheit entfernen) und expliziten PDF-Zielversionen von PDF 1.0 bis PDF 1.7
- PDF/A-1b-Ausgabe –
SaveAsPdfA/SaveAsPdfAToStreamergänzen den Basis-Speichervorgang durch ein inkrementelles Update, das einen XMP-Metadaten-Stream, ein sRGB-ICC-OutputIntent und einen aktualisierten Dokument-Catalog einfügt, sodass das Ergebnis PDF/A-1b-konform ist. Benutzerdefinierte ICC-Profile werden überTPdfASaveOptions.IccProfileDataunterstützt- PDF/A-Validierung –
ValidatePdfAund die schreibgeschützte EigenschaftPdfAConformancedurchsuchen ein geöffnetes Dokument nach XMP-pdfaid-Markern, OutputIntent mit eingebettetem ICC und Verschlüsselungspräsenz und melden die Konformitätsstufe (pac1a,pac1b,pac2b,pac3b,pacNoneoderpacUnknown) sowie eine Liste vonTPdfAValidationIssue-Einträgen, die jedes gefundene Problem beschreiben- PDF-Versionskonformitätsprüfung – Wenn SaveAs PDF 1.0 bis PDF 1.7 ansteuert, lehnt der Schreiber jeden Dictionary-Eintrag, Filter, jeden Annotations-Subtyp, jeden Aktionstyp, jede Schriftart, jeden Farbraum oder jeden Verschlüsselungsparameter ab, der nach der gewählten Zielversion eingeführt wurde (z. B. JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, Polygon- / Caret- / Watermark- / Redact-Annotationen, JavaScript- / Trans- / SetState-Aktionen)
- Stream-Komprimierung – Automatische FlateDecode-Komprimierung stellt sicher, dass alle PDF-Streams beim Speichern optimal komprimiert sind; setzen Sie
Compressed := False, um diese in Debug-Pipelines abzuschalten- Skalierbarer Stapelmerge –
MergeFilesimportiert dateibasierte Quellen mit Seitenbereichen und Passwörtern pro Quelle, hält höchstens ein Quelldokument gleichzeitig offen und stellt Fortschritt, Abbruch, Stopp- bzw. Übersprungs-Handling, Rollback sowie Richtlinien für Formulare, Lesezeichen, Ressourcen und Viewer-Voreinstellungen bereit- Teilmengen-Seitenimport –
ImportPagesByIndexkopiert ein explizites null-basiertes Index-Array aus einem Quelldokument, wobei InsertAt = 0 vor Seite 1 einfügt oder InsertAt = PageCount anhängt. Übergeben Sie ein leeres Index-Array, um jede Quellseite zu importieren- N-up-Komposition –
ImportNPagesToOneliefert ein brandneuesTPdf, dessen Seiten NumX×NumY-Kompositionen der Seiten des Quelldokuments sind, dimensioniert in PDF-Benutzereinheiten (1 Einheit = 1/72 Zoll)- Seitenneuordnung –
MovePagesordnet Seiten an Ort und Stelle um, unter Verwendung eines null-basierten Index-Arrays und eines Zielindex für die erste verschobene Seite- Seitenplan-Validierung –
ValidatePagePlanzeigt Lösch-, Verschieb-, Einfüge-, Aufteil- und Merge-Zuordnungen als Vorschau an, inventarisiert Auswirkungen auf Navigation, Beschriftungen, Formulare, den Strukturbaum, importierte Funktionen und Signaturen und lehnt Pläne ab, die verwaiste Ziele hinterlassen oder signierte Inhalte ohne ausdrückliche Autorisierung ändern würden- Zweipass-Layouterzeugung –
GenerateLayoutmisst und paginiert umbrochenen Text, Linien, Bilder, Seiten-XObjects, Kopf- und Fußzeilen, bevor native Seitenobjekte atomar emittiert werden, während stabile{page}- und{pages}-Platzhalter die gemessene Seitenzahl bewahren- Plattenbasiertes seitenweises Layout –
GeneratePagedLayoutschreibt Befehle in vom Aufrufer gewählten seekbaren Speicher, stellt jede Seite aus kompakten nicht-kontinuierlichen Segmenten wieder her, begrenzt gehaltene Seiten-Arrays mit einem LRU-Cache und hängt PDFium-Seiten sequenziell an- Seitenübergreifendes Tabellenlayout –
TPdfLayoutTablelöst feste, anteilige und inhaltsbasierte Spaltenbreiten einmalig auf, wiederholt zusammenhängende Kopfzeilen, teilt geeignete Rumpfzeilen, erhält zeilenübergreifende Gruppen intakt und emittiert Beschriftungen, Zellenrahmen, Links sowie eine durchgehende semantische Hierarchie aus Table / TR / TH / TD über Seiten hinweg- Zwischengespeicherte Layoutknoten – Layoutpläne werden anhand vollständiger Constraint-, Inhalts-, Schrift-, Stil-, Quellen- und Measurer-Identitäten zwischengespeichert, während
TPdfLayoutCachedNodewiederholte Vorlagen träge aufbaut und jede Platzierung aus einem wiederverwendbaren nativen Form XObject emittiert- Automatisches Tagged-PDF-Layout –
GenerateTaggedLayoutemittiert native MCIDs, Artefakte, einen Document-Strukturbaum, ParentTree- und IDTree-Zuordnungen, Überschriften, Listen, Abbildungen mit Alternativtext, Tabellenköpfe und Link-Annotationen mit OBJR-Zuordnung aus demselben gemessenen Layoutplan; Element-Bedingungen halten Blöcke und Überschriften zusammen, erzwingen Witwen-/Waisen-Mindestwerte und setzen physische Seitenumbrüche- Marked-Content-Bearbeitung –
PageObjectMarks,AddPageObjectMark,SetPageObjectMarkParam,RemovePageObjectMarkParamundRemovePageObjectMarkuntersuchen und verändern BDC-Eigenschaftslisten über stabile native Marken- Bidi- und komplexe Schriften –
AddShapedTextwandelt Richtungsabläufe, kontextabhängige Formen, Ligaturen, Vorschübe und Versätze in positionierte CID-Type-2-Glyphen, während erzeugte ToUnicode-Zuordnungen undActualTextdie logische Unicode-Semantik bewahren- CID-Type-2-Schriftautoring –
AddCidType2Textbettet vom Aufrufer bereitgestellte TrueType-Daten mit expliziten CID-zu-GID- und ToUnicode-Zuordnungen ein, mit sicherer optionaler Subsetting-Verkleinerung, kontrolliertem Fallback auf die vollständige Schrift und Prüfungen der Extraktionsintegrität- Vereinheitlichtes Cache-Byte-Budget –
TPdf.CacheBudgetByteskoordiniert geparste Seitenszenen, Miniaturansichten, Strukturdaten, Text- und Seitenobjekt-Snapshots über ein messbares globales LRU, währendTPdfTileCacheund der Systemfont-Cache einem vom Aufrufer gewählten Governor beitreten können- Systemfont-Anbieter des Hosts –
ConfigureSystemFontProviderleitet native Anfragen für fehlende Schriften über einen Anwendungsanbieter mit Byte-Validierung, begrenztem LRU-Cache, optionaler gemeinsamer Byte-Verwaltung, nativem Fallback, Tabellenextraktion und Lebenszyklus-Statistiken- Wiederverwendung von Seiten als Form XObject –
CreateXObjectFromPageerzeugt ein wiederverwendbaresTPdfXObject-Handle aus einer beliebigen Seite eines anderen Dokuments;InsertFormObjectFromXObjectfügt EINE Kopie der eingehüllten Seite in die aktuelle Seite ein. Ideal für Wasserzeichen, Vorlagen-Overlays und Workflows zum „Stempeln einer Seite auf viele". Das Ziel-Seitenobjekt kann überFPDFPageObj_SetMatrixund dieTPdfMatrix-Helfer positioniert, skaliert und gedreht werden- Seitenverwaltung – Hinzufügen, Löschen und Manipulieren einzelner Seiten;
AddPage(0, ...)fügt die allererste Seite ein und aktiviert sie sofort- Seitenboxen – Lesen und Schreiben von MediaBox, CropBox, BleedBox, TrimBox und ArtBox auf der aktuellen Seite
- Catalog-Sprache – Lesen und Schreiben der im Catalog-Eintrag /Lang gespeicherten Dokumentsprache
- Trailer-Datei-IDs – Lesen permanenter und sich ändernder Trailer-/ID-Einträge als binäre Bytes
- Dokument-JavaScript-Aktionen – Auflisten von Aktionsnamen und Skripten der JavaScript-Namens-Baumstruktur auf Dokumentebene
- Tagged-PDF-Strukturbaum – Untersuchen logischer Strukturelemente, Zugänglichkeitstexte, Sprache, Marked-Content-IDs und Hierarchie für getaggte PDF-Seiten
- Viewer-Voreinstellungen – Lesen von
PrintCopies,PrintPageRanges,PrintScalingundPrintPaperHandlingaus dem Viewer-Preference-Dictionary des Dokuments; gespeicherte PDFs haben standardmäßig eine Fit-Height-Öffnungsaktion für die erste Seite
Textoperationen
- Textextraktion – Extrahieren von Text aus PDF-Seiten mit zeichengenauer Präzision über die Eigenschaften
Text,TextInRectangle, indizierteCharacter,CharacterRectangleundCharacterOrigin- Strukturiertes Textmodell –
GetStructuredTextbaut aus nativer Zeichengeometrie, Schriftmetadaten, Textobjekt-Identität, Tagged-PDF-Semantik und Fallback-Ordnung nach physischem Layout eine begrenzte Hierarchie aus Seite, Block, Zeile und formatiertem Span auf- Tabellenerkennung und -extraktion –
ExtractTablesundExtractDocumentTableskombinieren native Wortboxen mit transformierten Pfadlinien, um Tabellen mit Rahmen- oder Whitespace-Ausrichtung zu erkennen, verbundene Zellen zu erhalten, Konfidenz zu bewerten, Seitenfortsetzungen zu markieren und CSV oder JSON auszugeben- Semantisches Reflow und responsives HTML –
BuildReflowDocumentkombiniert Tagged-PDF-Semantik, Inferenz des physischen Layouts und Tabellenextraktion zu einem begrenzten wiederverwendbaren Knotenbaum, dessen sichere HTML-Ausgabe Überschriften, Absätze, Listen, Abbildungen, Seitenabschnitte und Tabellen-Spans bewahrt- Durchsuchbare OCR-Schicht –
ApplyOcrSearchLayerübergibt begrenzte Top-Down-BGRA-Seitenrenderings an einen Anwendungsanbieter, bildet Konfidenz-Quads über die native Seitengeometrie ab und fügt unsichtbaren, durchsuchbaren Text hinzu, ohne Scan-Bilder neu zu kodieren- Satzweise Leseeinheiten – TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits und BuildReadingUnits liefern satzgroße TPdfReadingUnit-Records für synchronisiertes TTS-Zuhör-Lesen
- Visuelle Zeilenauswahl –
TPdfView.SelectLineAtwählt die visuelle Textzeile aus, die eine einsbasierte Seite und einen null-basierten Zeichenindex enthält, über dasselbe Zeilengrenzmodell, das auch die Dreifachklick-Auswahl sowieShift+HomeoderShift+Endverwendet- Wortweise Lesehervorhebung –
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowordnen einen Seiten-Zeichenversatz der enthaltenden TPdfWordBox zu, heben ihn hervor und geben den Wortindex zurück; heben eine TPdfWordBox als aktuell gesprochenes Wort in TPdfView hervor; löschen die aktuelle wortweise Lesecursor-Überlagerung in TPdfView; steuern die Überlagerungsfarbe für den aktuellen wortweisen Lesecursor; steuern, ob TPdfView das aktuell gesprochene Wort beim Lese-Tracking in den sichtbaren Bereich rollt- Vorlese-Sitzungssteuerung –
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageCharundEstimateSpokenWordIndexkoordinieren die TTS-Engine des Hosts, gesprochene Textblöcke, Wortpositions-Callbacks, geschätztes Tempo, Pause-/Fortsetzen-Verhalten und TPdfView-Wortcursor-Updates- Textsuche – Finden von Text mit Optionen für Groß-/Kleinschreibung, ganze Wörter und aufeinanderfolgende Suche mittels
FindFirst,FindNextundFindPreviousoder Durchlaufen von Vorwärts- und Rückwärts-Treffern über das gesamte Dokument mitTPdf.CreateDocumentSearch, Ergebnisrechtecken im Seitenraum, kooperativem Abbruch und konstantem Speicherbedarf für Seiten-Handles- Such-Hervorhebungs-Overlay –
TPdfView.HighlightSearchTextersetzt das Treffer-Overlay der aktuellen Seite, währendAddSearchTextHighlighteindeutige Bereiche für weitere Suchbegriffe anhängt, sodass mehrere Abfragen gleichzeitig sichtbar bleiben können.ClearHighlightentfernt das komplette Set; der Wechsel auf eine andere Seite löscht es automatisch, da Zeichenbereiche seitenspezifisch sind.HighlightColorist standardmäßigclYellowund wird veröffentlicht, sodass Anwendungen das Overlay thematisch anpassen können- Zeicheneigenschaften – Zugriff auf Schriftgröße, -gewicht, -winkel und Positionierung einzelner Zeichen mit den indizierten Eigenschaften
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHyphenundCharacterMapError- Unterstützung europäischer Zeichen –
AddTextlädt und zwischenspeichert automatisch die passende System-TrueType-Schriftart, bevor ein Textobjekt erstellt wird, sodass akzentuierte tschechische, französische, deutsche, spanische, portugiesische, polnische und türkische Zeichen, die die in PDFium eingebauten Standardschriftarten nicht darstellen können, nun ohne Codeänderung korrekt dargestellt werden- Text hinzufügen – Hinzufügen neuer Texte zu PDF-Seiten mit benutzerdefinierten Schriftarten, Farben, Transparenz und Drehung
- Textobjekt-Positionierung – Festlegen der Positionen pro Zeichen für bestehende Textobjekte über
SetTextPositionsundTPdfSingleArray- Schriftartinformationen – Abruf von Schriftarteigenschaften einschließlich Familienname, Einbettungsstatus, Italic-Winkel, Ascent / Descent und Rohschriftdaten auf Basis einzelner Seitenobjekte
Annotationsunterstützung
- Annotationstypen – Unterstützung für Text-, Link-, Highlight-, Underline-, Strikeout- und viele weitere Annotationstypen
- Annotation erstellen – Programmgesteuerte Erstellung neuer Annotationen
- Annotation bearbeiten – Ändern bestehender Annotationseigenschaften einschließlich Farbe, Transparenz und Inhalt
- Link-Annotationen – Verarbeitung interner und externer Links mit Aktionsunterstützung
Formularunterstützung
- Accessors für sprachgesteuertes Formularausfüllen – FocusedFormFieldValue, FocusedFormFieldName und FocusedFormFieldDetails auf TPdf und TPdfView legen Wert, Namen und TPdfFormFieldInfo des aktuellen logischen Formularfelds für tastatur- oder sprachgesteuertes Formularausfüllen offen
- Formulartypen – Unterstützung für AcroForm- und XFA-Formulare
- Formularausfüllung – Interaktives Ausfüllen von Formularen mit JavaScript-Unterstützung
- V8-DLL-Auswahl – Setzen Sie
EnableV8Enginevor dem Laden, umpdfium.v8.dllaus dem passenden OrdnerDLLs\Win32oderDLLs\Win64zu verwenden, und fragen Sie die Verfügbarkeit von V8/XFA-Helfern überV8FeaturesAvailable,XfaBStrHelpersAvailableundGetRecommendedV8Flagsab- Feldzugriff – Lesen und Schreiben von Formularfeldwerten nach Index oder Position
- Feldinformationen – Zugriff auf Feldtyp, Flags, Namen und weitere Eigenschaften
- Feld-Flags – Aktualisieren von AcroForm-Feld-Flags nach Index oder Position über
SetFormFieldFlags/SetFormFieldFlagsAt, einschließlich Read-only-, Required-, Password- und Multi-select-Flags- Formular-Flattening –
GenerateFormAppearancesregeneriert den /AP-Erscheinungsbild-Stream für jedes Formular-Widget auf jeder Seite, undFlattenPage/FlattenAllPagesbacken Annotationen und Formularfelder dauerhaft in den statischen Seiteninhalt ein (nicht editierbar)- Textauswahl, Zwischenablage & Undo / Redo in Formular-Widgets – Auf dem fokussierten AcroForm-Widget stellt die Ansicht
GetSelectedFormText,CopySelectedFormTextToClipboard,CutSelectedFormTextToClipboard,PasteFormTextFromClipboard,SelectAllFormTextsowieFormUndo/FormRedo/FormCanUndo/FormCanRedobereit. Der Editor verarbeitetCtrl+A,Ctrl+C,Ctrl+Insert,Ctrl+X,Shift+Delete,Ctrl+VundShift+Insert; Ausschneiden und Einfügen werden bei schreibgeschützten Feldern oder Sitzungen ohne Formularausfüll- oder Änderungsberechtigung abgelehnt- Dokument-Bearbeitungstransaktionen und Undo / Redo –
BeginEditTransaction,CommitEditTransactionundRollbackEditTransactiongruppieren beliebige Seiten-, Objekt-, Annotations-, Anhang- und Metadatenänderungen, währendUndoEdit,RedoEditund portable Bearbeitungsjournale mit begrenzten, SHA-256-verifizierten bidirektionalen Deltas arbeiten- Absturzwiederherstellung und Commit-gesteuertes Autosave – Prüfsummen-gesicherte Wiederherstellungspakete binden Quell- und Wiederherstellungs-Fingerprints an ein begrenztes Bearbeitungsjournal, während das atomare Autosave nach Commit, Undo oder Redo eine explizite Seitendatei aktualisiert, ohne die Quell-PDF neu zu schreiben
Bildoperationen
- Bildextraktion – Extrahieren von Bitmaps aus PDF-Seiten mit der indizierten Eigenschaft
Bitmap; durchlaufen SieBitmapCount, um jedes Bild auf den Datenträger zu speichern- JPEG-Einfügung –
AddJpegImagenimmt einen TStream mit rohen JPEG-Bytes entgegen und bettet das Bild ohne erneutes Kodieren als /DCTDecode-XObject ein- Picture-Unterstützung –
AddPictureakzeptiert einTPicture-Objekt mit automatischer Formatkonvertierung über die registrierten VCL-/LCL-Grafikklassen- Direkte Bildeinfügung –
AddImage(FileName)erkennt jedes mit den VCL- oder LCL-Grafikunits registrierte Format (BMP, PNG über PngImage, JPG, ...) und teilt die AddPicture-Pipeline.AddImage(TBitmap)überspringt den TPicture-Zwischenschritt, was Aufrufer vereinfacht, die bereits ein TBitmap aus Rendering- oder Batch-Generierungsarbeiten halten- Bild-ICC-Profil – Bild-Seitenobjekte stellen ihre eingebetteten ICC-Profildaten bereit, sofern vorhanden (Binding für
FPDFImageObj_GetIccProfileDataDecoded)- Miniaturansicht-Erzeugung – Erzeugen von Seiten-Miniaturansicht-Bitmaps über die Eigenschaft
Thumbnailoder durch Rendering jeder einsbasierten Seite mitTPdf.RenderPageThumbnail, ohnePageNumberzu ändern, mit einem revisionsbewussten LRU, der durch Eintrags- und Pixel-Byte-Obergrenzen begrenzt ist- Geparster Seitenszenen-Cache –
TPdf.RenderPageByIndex,RenderPageThumbnailundExtractThumbnailnutzen begrenzte, LRU-geschützte PDFium-Seitenszenen wieder, während Seitenänderungen, Seitenbaum-Änderungen, Formularzustand und das Entladen des Dokuments veraltete Einträge ungültig machen
Hilfs-Units
- Async-Infrastruktur –
FPdfAsynckombiniert strukturierte kooperative Abbruchsemantik mit entfernbaren Callbacks und Deadline-Quellen, konfigurierbarerTPdfFuture<T>-Ergebnisübermittlung sowie einer wiederverwendbarenTPdfAsyncExecutor-Instanz mit festen Workern, vier FIFO-Prioritätspfaden, Backpressure bei begrenzten Warteschlangen, Task-Handles, Timing-Diagnosen, aggregierten Statistiken und kontrolliertem Herunterfahren- Stream-Adapter –
TPdfStreamAdapterverbindet einen Pascal-TStreammit denFPDF_FILEACCESS-Callbacks von PDFium, sodassLoadCustomDocumentBlöcke bedarfsweise liest, anstatt das gesamte PDF im Speicher zu puffern- Progressive Download-Sitzungen –
TPdfProgressiveDocumenthält PDFiums nativen Verfügbarkeitsanbieter am Leben, speist Dokument-, Formular- und Seitenhinweise inTPdfRangeRequestScheduler, fasst fehlende Bereiche zusammen, verdrängt Hintergrundübertragungen zugunsten seitenkritischer Bytes, begrenzt Anfragegrößen und Wiederholungen, bricht redundante Übertragungen ab und öffnet eine linearisierte Seite, bevor das vollständige PDF eintrifft- Begrenzte Stream-Inspektion –
TPdfStreamInspectorinventarisiert physische Stream-Objekte, stellt sichere Rohdatenfenster und geordnete Dekodierung über Allzweckfilter bereit, meldet native Zugriffspfade für Bilder und Anhänge und erzwingt Budgets für Quelle, Ausgabe, Dictionarys, Anzahl und Expansionsratio- Normalisierung von Inhaltsstreams –
TPdf.SaveAsNormalizedContenttokenisiert logischen Seiteninhalt, entfernt Kommentare, prüft Zustands- und Container-Balance, bewahrt nicht unterstützte Operatoren und Inline-Bilddaten und führt sichere/Contents-Arrays zusammen- Fast-Web-View-Ausgabe –
TPdf.SaveAsLinearizedschreibt Erstseitenobjekte vor die späteren Seiten, emittiert zwei Cross-Reference-Abschnitte und baut Hint-Tables für Seiten-Offsets und Shared Objects auf, sodass ein HTTP-Range-Client eine angeforderte Seite öffnen kann, ohne die vollständige Datei herunterzuladen- Object-Stream-Ausgabe –
TPdf.SaveAsObjectStreampackt geeignete Werte in begrenzte ObjStm-Gruppen gemäß PDF 1.5+, hält öffnungskritische Objekte direkt und schreibt adaptive Type-2-xref-Einträge für kleinere Dateien, ohne wahlfreien Zugriff aufzugeben- Inkrementelles Speichern geänderter Objekte –
TPdf.BeginIncrementalSaveundCommitIncrementalSavevergleichen stabile semantische Snapshots, erhalten jedes vorherige verschlüsselte oder unverschlüsselte Byte, erben R5-, R6- oder R7-Sicherheitsparameter, hängen nur geänderte Objekte an, öffnen jedes Ergebnis strikt erneut und nutzen für Datei-Commits eine dauerhafte Seitendatei plus atomaren Austausch- Optionale Inhalte steuern –
TPdf.InspectOptionalContentinventarisiert Ebenen, Konfigurationen, Nutzungsmetadaten, Radiogruppen, Reihenfolge, Sperren, OCMD-Richtlinien und Sichtbarkeitsausdrücke, währendSaveAsOptionalContentConfigureddeterministische Ebenenzustände schreibt, die PDFium über seinen nativen Rendering-Kontext anwendet- Begrenzter Arbeitsspeicher –
TPdfRandomAccessStorehält kleine Daten im Speicher, lagert bei einer vom Aufrufer gewählten Obergrenze einmalig in eine private temporäre Datei mit Delete-on-Close aus und liefert positionierte Lesevorgänge, ohne den gemeinsamen Cursor zu verändern;TPdf.SaveMemoryLimitwendet dieselbe Richtlinie auf die Nachbearbeitung des Kern-Speicherns an, während Standard-Updates für Open-Action und Seitenbeschriftungen im Catalog feste Fenstergrößen und einen trägen Sparse-Objektindex verwenden- Native Versionsabfrage –
TPdf.PdfVersionnutzt den Parser-Zustand vonFPDF_GetFileVersionfür Header- und Catalog-Semantik, mit einer einzigen Acht-Byte-Header-Prüfung, um fehlerhafte Catalog-Degradierungen abzulehnen- Matrix-Geometrie-Toolkit –
FPdfMatrixumschließt PDFiumsFS_MATRIXmit Nach- und Vorkomposition, pivotbewussten Transformationen, Rechteckanpassung für stretch / contain / cover, skalierungsabhängigen Invertierbarkeits-Diagnosen, Zerlegung, nicht mutierenden Inverse-Helfern, Vektor- und Vierecksmapping, Ein-Allocation-Chargen für Punkte oder Rechtecke, In-Place-Varianten und einmalig transformierten Bounds- Abbrechbares progressives Rendering –
TPdf.RenderPageProgressivesteuert PDFiumsFPDF_RenderPageBitmap_Start+RenderPage_Continue-Schleife und prüft zwischen den Iterationen über denIFSDK_PAUSE-Callback einIPdfCancellationToken, sodass langwierige High-DPI-Renderings mitten in der Seite abgebrochen werden können, anstatt bis zum Abschluss zu blockieren. Gibt einenTPdfProgressiveStatusvonprsDone,prsCancelledoderprsFailedzurück- Zero-Copy-Render-Pfad –
RenderPage/RenderTile/RenderPageProgressiveschreiben die PDFium-Ausgabe direkt in den DIB-Puffer des Ziel-TBitmap, anstatt über einen internen Puffer zu leiten, was eine Speicherkopie von Breite × Höhe × 4 Bytes pro Rendering einspart – besonders spürbar bei hoher DPI (Miniaturansicht-Panels, druckqualitativer Export, Batch-Export). Ein scanlineweiser Fallback-Pfad bleibt erhalten, wenn das Ziel-DIB nicht sicher umschlossen werden kann- Low-Vision-Bitmap-Farbtransformationen – InvertPdfBitmap, GrayscalePdfBitmap und DuotonePdfBitmap transformieren gerenderte 32-Bit-TBitmap-Pixel direkt für invertierte, graue oder zweifarbige Low-Vision-Ansichten
- Live Low-Vision-Ansicht –
TPdfView.OptionsunterstütztreInvertundreNightDuotone, wobeiNightDuotoneInkundNightDuotonePaperdie Live-Nachtpalette vor dem Zeichnen der Overlays steuern
Zeichenoperationen
- Pfadzeichnung – Erstellen von Pfaden mit Linien, Bézier-Kurven und geschlossenen Formen
- Objektentfernung – Entfernen von Seitenobjekten und Regenerieren des Seiteninhalts aus TPdf oder TPdfView
- Füllung und Strich – Konfiguration von Füllmodus, Farben, Transparenz und Stricheigenschaften
- Blend-Modi – Unterstützung für verschiedene PDF-Blend-Modi
- Linienstile – Konfiguration von Line-Cap, Line-Join und Strichbreite
Digitale Signaturen
- Signaturerkennung – Erkennen und Auflisten digitaler Signaturen in PDF-Dokumenten
- Signaturinformationen – Zugriff auf Signaturinhalt, Byte-Range, Sub-Filter, Grund und Zeit
- MDP-Berechtigungen – Abfrage der Berechtigungen für Modification Detection and Prevention
- Revisionsanalyse nach dem Signieren –
AnalyzeSignatureRevisionsklassifiziert inkrementelle Änderungen der Originalbytes anhand von DocMDP und FieldMDP, erkennt Aktualisierungen von Validierungsmaterial und meldet Schattendefinitionen oder unaufgelöste komprimierte Objekte, ohne das Dokument neu zu speichern- Elliptische-Kurven-Profile für PDF 2.0 – Die PAdES-Validierung erkennt Signaturen mit NIST-, Brainpool-, Ed25519- und Ed448-Kurven, prüft die Passung von Kurve und Digest sowie AlgorithmIdentifier-Parameter und meldet nicht unterstützte native Kryptografie getrennt von ungültigen Kombinationen
Anhangunterstützung
- Anhangzugriff – Lesen, Erstellen, Ändern und Löschen eingebetteter Dateianhänge
- Begrenzte Batch-Extraktion –
ReadAttachmentMetadatainventarisiert Anhänge einmalig undExtractAttachmentsToStreamsschreibt jeweils eine dekodierte Nutzdatendatei unter Kontrolle pro Datei, aggregiert, in Blöcken und mit Abbruch- Anhangnamen – Zugriff auf Anhang-Dateinamen
- Anhangtypen – Lesen von MIME-Subtype-Werten eingebetteter Dateien, sofern vorhanden
- Lesezeichen – Navigieren von Dokumentlesezeichen mit hierarchischer Unterstützung über das
Bookmarks-Array sowie die TraversierungshelferBookmarkChildren,HasBookmarkChildrenundBookmarkFrom- Benannte Zielorte – Zugriff auf benannte Zielorte nach Index oder Name über
Destination,DestinationByNameundDestinationCount- Seitenbeschriftungen – Abruf von Seitenbeschriftungen für jede Seite über
PageLabel; nützlich, wenn Dokumente römische Ziffern für Frontmatter verwenden- Web-Links – Erkennen und Navigieren von Web-Links auf Seiten mit
WebLink,WebLinkCountundTPdfView.WebLinkAtPos- Link-Annotationen – Zugriff auf Link-Annotationen mit Aktions- und Zielinformationen über
LinkAnnotation,LinkAnnotationCountundTPdfView.LinkAnnotationAtPos- Sichere Behandlung von Link-Klicks – TPdfView löst
OnAnnotationLinkClick/OnWebLinkClick-Ereignisse vor der automatischen Goto-/URI-Behandlung aus, wobei Launch-Aktionen standardmäßig deaktiviert sind. Die Erkennung von Link-Klicks läuft nur, wenn die Geste ein Klick ist und nicht ein Ziehen, unter Verwendung eines frischen MouseDown-Ankers, sodass Schwenkgesten unverändert über den vorhandenen Bildlauf-Pfad fließen
Rendering
- Hochwertiges Rendering – Rendern von Seiten auf einen Device Context, ein Bitmap oder eine Kachel über
RenderPage/RenderTile, mit Zero-Copy-Direktschreibvorgängen in den Ziel-DIB-Puffer- Abbrechbares progressives Rendering –
RenderPageProgressivesteuert die progressive Schleife von PDFium und prüft zwischen den Iterationen einIPdfCancellationToken, wobeiprsDone,prsCancelledoderprsFailedzurückgegeben wird. Beim Abbruch hält das Bitmap die bis dahin geleistete Teilarbeit- Paralleles Seitenrendering –
RenderPagesParallelerfasst das aktuelle Dokument einmalig, versieht jeden Worker mit einem unabhängig geladenen PDFium-Modul und Dokument, bewahrt die Anforderungsreihenfolge und begrenzt den gehaltenen Ausgabespeicher pro Seite und aggregiert- Sicheres Schwärzen von Inhalten –
SaveAsRedactedwendet/Redact-Rechtecke auf einen isolierten Snapshot an, entfernt konservativ sich überschneidende Seitenobjekte der obersten Ebene und überlappende Annotationen, übermalt Bereiche opak, entfernt eingebettete Anhänge und schreibt ein bereinigtes Ergebnis mit einzelner Revision, ohne das geladene Dokument zu verändern- Render-Optionen – LCD-Textoptimierung (
reLcd), Annotationen (reAnnotations), Graustufen und Druckmodus-Flags- Skia-Hooks – Low-Level-Bindings
FPDF_RenderPageSkiaundFPDF_FFLDrawSkiasind verfügbar, wenn Aufrufer einen externen SkCanvas bereitstellen (abhängig von den mitgelieferten DLL-Exporten)- Druckmodus-Auswahl – Festlegen von EMF-, nur-Text-, PostScript-, Pass-Through-, Image-Mask- und Type-42-PDFium-Druckmodi über
SetPdfPrintModemitTPdfPrintMode- Async-Overlay – TPdfView kann ein optionales Lade-Overlay anzeigen, während anwendungseigene Worker mit separaten TPdf-Instanzen rendern
- Seitenrotation – Unterstützung für Drehungen um 0, 90, 180 und 270 Grad (
ro0,ro90,ro180,ro270)- Transparenzerkennung – Die Eigenschaft
Transparentmeldet, ob ein Objekt auf der aktuellen Seite Transparenz aufweist, einschließlich Blend-Modi und partiellem Alpha
Anzeige (TPdfView)
- Anzeigemodi –
dmSingleContinuous,dmTwoPageContinuousunddmTwoPageContinuousWithCover(das Deckblatt steht allein, dann geht es mit zweiseitigen Spreads weiter). Der unit-weite HelferComputeSpreadPagesstellt die Spread-Page-Mathematik bereit, ohne einen Viewer zu instanziieren- Fit-Mode –
FitModebestimmt, wie die Seite im Ansichtsbereich sitzt:pfmNone(manueller Zoom),pfmActualSize(100 %),pfmFitPage(gesamte Seite passt in den Ansichtsbereich),pfmFitWidth(Seitenbreite entspricht der Ansichtsbereichsbreite) undpfmFitHeight(Seitenhöhe entspricht der Ansichtsbereichshöhe). Der aktive Fit-Mode wird automatisch bei Resize und beim Seitenwechsel erneut angewendet; das direkte Setzen von Zoom hebt den aktiven Fit-Mode auf (FitMode wechselt zurück zupfmNone) und entspricht damit der gängigen Konvention von PDF-Viewern- Zoom-Steuerung – Variabler Zoom mit den seitenbezogenen Helfern
PageZoom,PageWidthZoom,PageHeightZoomundActualSizeZoom- Seitenfarbe –
PageColortrennt den gerenderten PDF-Seitenhintergrund von derColor-Eigenschaft des umgebenden Steuerelements. Standard istclWhite, sodass PDF-Seiten unabhängig vom Theme der Host-Anwendung papierweiß gerendert werden. Dark-Mode-Viewer können den Bildlaufbereich dunkel lassen und die eigentliche PDF-Seite weiß (oder in jeder anderen von der Anwendung gewählten Farbe) belassen- Interaktive Textauswahl – Endbenutzer können Text auf PDF-Seiten per Ziehen auswählen, mit Hit-Test-Auto-Switching zwischen Auswahl und Schwenken: Klicken auf ein Zeichen startet einen Auswahl-Drag, Klicken auf Whitespace schwenkt. Doppelklick wählt das Wort aus, Dreifachklick wählt die Zeile aus,
Ctrl+Awählt die Seite aus (in Spread-Modi beide Seiten),Ctrl+Ckopiert alsCF_UNICODETEXT,Shift+arrowserweitern die Auswahl, beim Überfahren von Text wechselt der Cursor zucrIBeam, und das Ziehen an den Rand des Viewers scrollt die Seite automatisch. Neu veröffentlicht:SelectionColorundOnSelectionChange; neu öffentlich:HasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Spread-Anzeigemodi wählen über beide sichtbaren Seiten hinweg aus, mit CR/LF-Verknüpfung. Ein voreingestelltes Kopier-Popup bei Rechtsklick wird automatisch angebracht, wenn der Host kein eigenesPopupMenuzugewiesen hat. Über das v1.17.0-FlagAllowUserTextSelectionfür Kiosk-Hosts steuerbar- Koordinatenzuordnung – Umrechnung zwischen Viewer-Gerätekoordinaten und PDF-Seitenkoordinaten mit
DeviceToPage/PageToDevice, einschließlich Overloads, die einTRectentgegennehmen und einTPdfRectanglezurückgeben- Textauswahl und Hit-Testing – Auflösen von Zeichen unter Viewer-Punkten mit
CharacterIndexAtPosund Zeichnen von Textauswahl-Hervorhebungen überPaintSelection- Maus & Tastatur – Volle Unterstützung von Eingabegeräten mit Maus-Drag-Bildlauf, PgUp / PgDn / Ctrl+Home / Ctrl+End-Shortcuts sowie Mausrad-Hoch / Mausrad-Runter-Seitennavigation. Ctrl+Mausrad ist für den Anwendungszoom reserviert und wird vom Navigations-Handler übersprungen
- Sperrung von Benutzereingaben –
AllowUserPageChangesteuert die Tastatur-Seitenkürzel,ChangePageOnMouseScrollingsteuert die Seitensprünge per Mausrad, undAllowUserTextSelectionsteuert Maus-/Tastatur-Textauswahl-Eingaben. Alle drei stehen standardmäßig auf True; setzen Sie sie auf False, um Kioske, Vorschaupanels oder schreibgeschützte Einbettungen ohne Subclassing zu sperren- Async-Render-Overlay –
AsyncRendering,LoadingTextundLoadingColorzeichnen einen kleinen „Loading..."-Indikator über die gerenderte Seite, sodass Anwendungen, die ihren eigenen Worker für lange Renderings nutzen, eine konsistente visuelle Rückmeldung teilen. Standardwerte erhalten das bestehende Verhalten.TPdfserialisiert Render- und Page-Unload-Aufrufe nun pro Instanz; Anwendungen besitzen weiterhin den Worker-Dispatch und müssen vermeiden, ein Dokument zu mutieren, während ein Rendering läuft- Sichere Behandlung von Link-Klicks –
LinkOptionsist ein veröffentlichtes Set, das das automatische Verhalten für die vier PDF-Link-Aktionstypen steuert:loAutoGoto(Seitensprung),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) undloAutoEmbeddedGoto(reserviert). Standardmäßig sind nurloAutoGotoundloAutoOpenURIaktiviert;loAutoLaunchundloAutoEmbeddedGotobleiben aus, sodass ein versehentlicher Klick kein beliebiges Programm ausführen kann.OnAnnotationLinkClickundOnWebLinkClickwerden vor jeder automatischen Aktion ausgelöst und ermöglichen es der Anwendung, das Ereignis als Handled zu markieren oder umzuleiten- Formularinteraktion – Interaktive Formularbearbeitung innerhalb des Viewers, sowie die Auswahl-/Undo-/Redo-Helfer aus v1.23.0
- Visuelles Styling –
PageShadowSize,PageShadowColorundPageBorderColorzeichnen einen optionalen Schlagschatten unter dem Seitenrechteck und einen Ein-Pixel-Rahmen darum;SmoothScrollanimiert nun Zeilen-/Seiten-Scrollbar-Befehle in timer-gesteuerten Segmenten, während das Thumb-Tracking sofort bleibt- Miniaturansicht-Navigation –
TPdfThumbnailView(UnitFPdfThumbnail) rendert eine Seiten-Miniaturansicht pro Zeile in einem scrollbaren Seitenpanel mit Hover- und Auswahl-Hervorhebung sowie Click-to-go-Navigation. Konzipiert, um neben einem TPdfView zu sitzen. Eigenschaften:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; Ereignis:OnPageClick
Komprimierung
- Automatische Komprimierung – Wenn die Eigenschaft
CompressedTrue ist (Standard), wird sichergestellt, dass alle PDF-Streams beim Speichern FlateDecode-komprimiert sind- Nachbearbeitung – Die Komprimierungs-Engine durchsucht gespeicherte PDF-Daten und komprimiert alle unkomprimierten Streams mit maximaler zlib-Komprimierung
- Cross-Reference-Neuerstellung – Erstellt die xref-Tabelle automatisch neu, wenn die Stream-Komprimierung die Byte-Offsets ändert
- Kein Overhead – Wenn alle Streams bereits komprimiert sind, werden die Daten unverändert durchgereicht
Sicherheit
- Passwortunterstützung – Öffnen passwortgeschützter PDF-Dokumente
- Berechtigungen – Lesen von Dokument- und Benutzerberechtigungen; das
SecurityAudit-Demo kombiniert Berechtigungen, Anhänge, Dokument-JavaScript, URI-/Launch-Links, Signaturen, XFA und V8-Verfügbarkeit zu einer schreibgeschützten Risikofläche mit TXT-/JSON-Berichtspeicherung und TXT-Kopieraktionen- Begrenztes DER-Toolkit –
FPdfAsn1kodiert niedrige und hohe Tag-Nummern, typisierte Werte, sortierte SET-OF-Sammlungen sowie kanonische Zeit- und Stringformen; seine Zero-Copy-Reader-Fenster, typisierten Dekodierer und ressourcenbegrenzten Validatoren unterstützen CMS-, PAdES-, Zertifikats- und Zeitstempel-Workflows- Signaturspezifische Langzeitvalidierung –
TPadesDssOptions.Vrisschreibt hash-basierte indirekte VRI-Dictionarys, während gemeinsame Zertifikats-, OCSP- und CRL-Streams über Inhalts-Hashes dedupliziert werden und PAdES-Signierung als B-LT oder B-LTA die VRI der neuen Signatur automatisch erzeugt- Remote- und unterbrochenes Signieren –
PreparePadesRemoteSignaturespeichert den SHA-256-Dokument-Digest, die exakte ByteRange, Platzhalterkoordinaten und den Fingerabdruck der vorbereiteten PDF für HSM- oder Cloud-Signierung, währendCompletePadesRemoteSignaturegeänderte, wiederverwendete, überdimensionierte oder Digest-abweichende Sitzungen vor der Ausgabe ablehnt- Richtlinienanalyse der Signaturrevisionen –
AnalyzeSignatureRevisionsrekonstruiert klassische, hybride und xref-stream-basierte Revisionsketten, wendet DocMDP und FieldMDP pro Signatur an und schlägt bei fehlerhaften, schattierten, komprimierten oder budgetüberschreitenden Änderungen konservativ fehl- Mehrdeutigkeitsfreie Signaturprofile – Die PAdES-Validierung zählt erforderliche Schlüssel nur auf der obersten Ebene des Signature-Dictionarys, lehnt Duplikate und inkonsistente Sig- oder DocTimeStamp-Profile ab und verlangt, dass ByteRange genau das direkte hexadezimale Contents-Token ausspart
- Multisignatur-Evidenzexport –
BuildPadesEvidenceReportkorreliert PDFium-Fakten, CMS-Richtlinien, Vertrauens- und Zeitstempelstatus, Zertifikatspfad-Hashes, DSS-/VRI-Abdeckung und Revisionsentscheidungen mit begrenzter JSON- und CSV-Ausgabe- Erneuerung von Archivzeitstempeln –
RenewPadesArchiveTimestamphängt einen RFC-3161-Document-Time-stamp über die exakt vorhandene Signaturhistorie an, aktualisiert optional zuerst den vollständigen DSS und validiert die resultierende B-LTA-Kette vor der Ausgabe- Asynchrone Vertrauensvalidierung –
ValidatePadesTrustundValidatePadesTrustAsyncprüfen abgetrennte Signaturen der Originalbytes, Unterzeichner- und TSA-Ketten, optionale Online-Sperrbelege und RFC-3161-Zeitstempel-Token mit gestaffeltem Fortschritt, begrenztem Abruf und kooperativem Abbruch- Qualifizierte Vertrauenswürdigkeit –
TPdfEuropeanTrustedListparst nur vom Aufrufer authentifizierte ETSI-Trust-Listen, validiert zwischengespeicherte XML erneut, akzeptiert vom Aufrufer bereitgestellte Aktualisierungsquellen und stellt Offline-Evaluierung qualifizierter Dienste überQualifiedTrustEvaluatorbereit- Sicherheitsentfernung – Speichern von Dokumenten mit entfernter Sicherheit (sofern autorisiert)
- Druckmodi – Wahl zwischen EMF-, nur-Text-, PostScript-Level-2-/-3-, PostScript-Pass-Through-, EMF-Image-Mask- und Type-42-Druckmodi über die globale Funktion
SetPdfPrintMode- Viewer-Voreinstellungen – Sichtbarmachen der Autorenabsicht des Dokuments über
PrintCopies,PrintPageRanges(eins-basierte Seitenbereiche),PrintScalingundPrintPaperHandling;SetPdfPrintPaperHandlingDevModebildet den Duplex-Hinweis auf das Windows-DEVMODE.dmDuplexab- N-up-Druck – Die
PrintPreferences-Demos in Delphi, C++Builder und Lazarus zeigen N-up-Bogenkomposition (1 / 2 / 4 / 9 Seiten pro Bogen) mit Filterung gerader/ungerader Seiten, Graustufen-Rendering, optionalen 1-Pixel-Zellenrahmen, PDF-Autor-Druckvoreinstellungen und Duplex-Intent-Abbildung überSetPdfPrintPaperHandlingDevMode
Mitgelieferte Demos
Die Bäume
Demo\Delphi,Demo\CBuilderundDemo\Lazarusliefern lauffähige Beispielprojekte, die die aktive API-Oberfläche über alle drei IDE-Familien hinweg ausschöpfen. Highlights:
- PDFViewer / MultiPageViewer / SplitView – End-to-End-Nutzung von TPdfView: Laden, Navigieren, Zoomen, Drehen, zweiseitige Spreads, deckblattbewusste Layouts und Delphi-/C++Builder-/Lazarus-PDF-Vergleich nebeneinander mit synchronisierten Befehlen; die Viewer-Demos sind außerdem praktische Geschwindigkeitstests für mehrere Gigabyte große PDFs, bei denen 2.x GB große Dokumente nahezu sofort eine nutzbare erste Ansicht erreichen, während das Seitenrendering reaktionsfähig bleibt
- ViewerInteractionLab – Fokussierte TPdfView-Interaktionsbeispiele für Delphi, C++Builder und Lazarus zu Anzeigemodi, Fit-Modes, Seitenfarben, Drehung, Such-Hervorhebung, Textauswahl, Vorschau ausgewählten Texts, Zwischenablage-Aktionen und DeviceToPage-Koordinatenanzeige
- SearchAndSelect – Fokussierte Workflow-Beispiele für Delphi, Lazarus und C++Builder zum Auflisten aller seitenübergreifenden Suchergebnisse, Vorheriger-/Nächster-Treffer-Navigation, Doppelklick zum Springen zu einem Treffer,
HighlightSearchText, Suche mit Match-Case / Whole-Word,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectionund Spread-Anzeigemodi- PreflightReport – Wiederverwendbare
FPdfPreflightReport-Objekte sammeln Ergebnisse für PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R und PDF/VT mit Status, Info- / Warning- / Error-Schweregraden, Lookup, Suche, Filterung, deterministischer Aggregation, stabilen SHA-256-Fingerprints, TXT- / HTML- / Markdown- / JSON- / CSV-Ausgabe sowie SARIF-2.1.0-, JUnit-XML-, NDJSON- und XML-Automatisierungsformaten; Delphi-, Lazarus- und C++Builder-Demos plus Konsolen-Workflows bieten Vorschauen, Batch-Routing, Zusammenfassungen, Berichtsanhänge und CI-Gating über Exitcodes- ContentExtractionLab – Vereinheitlichter Inhaltsbestands-Workflow für Delphi, Lazarus und C++Builder zu Dokumentmetadaten, Seitentext, Seitenobjekten, Bildern, Anhängen, Links, Annotationen, Lesezeichen sowie Schrift-/Zeichenmetriken mit TXT-/JSON-Export, Alle-/Keine-Kategorieauswahl, Speichern der Quell-PDF und Bericht-Kopier-Aktionen
- WatermarkStamp – Wiederverwendbarer Form-XObject-Workflow für Delphi, Lazarus und C++Builder für zentrierte Wasserzeichen, Eckstempel und Seitenzahl-Beschriftungen über ein mehrseitiges Ziel-PDF
- CreatePDF – Erstellen eines mehrseitigen PDFs von Grund auf mit Text, Bildern, Pfaden, Tabellen und Wasserzeichen-Komposition; enthält eine Option „Europäischer Text“ zum Schreiben akzentuierter tschechischer / französischer / deutscher / spanischer / portugiesischer / polnischer / türkischer Texte zur Überprüfung der Schriftauswahl und der Unicode-Verarbeitung
- ExtractText / ExtractImages / ContentExtractionLab – Speichern von extrahiertem Text (einschließlich seitenweise getrennter Ausgabe) oder eingebetteten Bildern auf den Datenträger oder Erzeugen eines mehrkategorigen Inhaltsbestandsberichts in einem Durchgang
- FormFill – Lesen von AcroForm-Feld-Metadaten, Schreiben von Werten, Neuerzeugen von /AP-Erscheinungsbildern und Speichern entweder des editierbaren oder des geflachten Ergebnisses
- FontProperties – Untersuchen indizierter Zeichen-/Schrift-Metadaten über sowohl TPdf als auch TPdfView in Delphi, C++Builder und Lazarus
- MergePDF / SplitPDF – Zusammenführen mehrerer Quell-PDFs (mit dateiweiser Seitenbereichsauswahl, optionalem Ausgabepfad, Ausführungsprotokoll, Abbruch-Schaltfläche und Zusammenfassung nach Abschluss des Zusammenführens) oder Aufteilen eines PDFs in seitenweise Ausgabedateien
- PDFtoJpg / BatchExport – Einzelne oder gebatchte Mehrdatei-PDF-zu-JPG-Konvertierung für Delphi, C++Builder und Lazarus mit Gesamtfortschritt pro Datei, aktuellem Fortschritt pro Seite, DPI-/Qualitäts-/Passwort-Eingaben und einem kooperativ abbrechbaren Batch, gestützt auf
IPdfCancellationToken- StandardsLab – Workflow-Beispiele für Delphi, C++Builder und Lazarus zur Validierung von PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R und PDF/VT, Issue-Reporting und standardsorientierte Speicherausgaben
- PrintPDF / PrintPreferences – Standard-PDF-Druck für Delphi, C++Builder und Lazarus mit Vorschau, Seitenbereichen, Kopien, Collate, Fortschritt und Abbruch (PrintPDF), plus Delphi-/C++Builder-/Lazarus-N-up-Bogenkomposition mit Gerade-/Ungerade-Filterung und PDF-Autor-Druckvoreinstellungen (PrintPreferences)
- SecurityAudit – Schreibgeschützte Risikoflächen-Beispiele für Delphi, C++Builder und Lazarus zu Berechtigungen, Anhängen, JavaScript-Aktionen, URI-/Launch-Links, Web-Links, Signaturen, XFA-Status, V8-/XFA-Helfer-Verfügbarkeit und TXT-/JSON-Audit-Berichten
- Attachment – PDFs erstellen, eingebettete Dateianhänge hinzufügen / auflisten / extrahieren / löschen / speichern, mit MIME-Subtype-Anzeige
- ImageToPDF – Bild-Batch-Konvertierung in ein PDF, ein Bild pro Seite, für Delphi, C++Builder und Lazarus, mit Vorschau und Fortschritt pro Bild
Die Regressionssuiten für Delphi, C++Builder und Lazarus decken 147 (Pas) / 123 (C++) Testfälle ab, die dieselben Fixture-PDFs teilen, sodass das Verhalten Byte-genau über alle drei IDE-Familien hinweg übereinstimmt
Plattformunterstützung
- Delphi – Delphi XE5 (RAD Studio XE5) bis Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder – C++Builder XE5 (RAD Studio XE5) bis C++Builder 13.1 Florence
- Lazarus – Unterstützung für Free Pascal / Lazarus
- Win32 / Win64 – Sowohl 32-Bit- als auch 64-Bit-Windows-Plattformen
Ausgerichteter Vergleich erkennt eingefügte, gelöschte und verschobene Seiten mit begrenzten Unicode-Änderungen und mehreren visuellen Regionen; Overlays machen Änderungen exportierbar
Transaktionale Navigationszusammenführung erhält Lesezeichenhierarchie, Stile, URI-Aktionen und neu zugeordnete Seitenziele bei ausgewählten und umsortierten Importen
Optionales Tesseract-OCR ergänzt durchsuchbaren Text auf gescannten Seiten, mit expliziten Abhängigkeitsdiagnosen, Abbruch und Ressourcenbudgets
Transaktionale AcroForm-Zusammenführung ausgewählter Seiten unterstützt explizite Namensregeln und Ressourcenisolation; der optionale Barcode-Provider erzeugt Code128, QR, DataMatrix und PDF417 und erkennt Graustufenbilder