PDFium Delphi Component Docs

Unit FPdfProduction

Begrenzte Produktionsworkflows für Grafiken, Dokumentinhalte, interaktive Pakete und eingebettete Medien

Exceptions und Aufzählungen

DeklarationWerte oder Zweck
EPdfProductionException für ungültige Produktionseingaben, erschöpfte Sicherheitsbudgets, nicht unterstützte Operationen und zurückgewiesene Backend-Ausgaben
TPdfColourSpacepcsDeviceGray, pcsDeviceRGB, pcsDeviceCMYK, pcsICCBased, pcsSeparation, pcsDeviceN
TPdfSvgPathCommandKindspcMoveTo, spcLineTo, spcCubicTo, spcQuadraticTo, spcClosePath
TPdfReplacementModeprmNativeTextObject, prmRedactAndRelayout
TPdfBarcodeKindpbkCode128, pbkQr, pbkDataMatrix, pbkPdf417
TPdfPortfolioFieldTypeppftText, ppftNumber, ppftDate, ppftFileName, ppftDescription, ppftSize, ppftModDate, ppftCreationDate

Deklarationen zur Farbkonvertierung

Der optionale LittleCMS-Provider implementiert die Puffertransformation; FPdfDocumentColour wendet sie auf originale Dokumentoperatoren und Bildkomponenten an und meldet Vollständigkeit explizit

DeklarationÖffentliche Felder oder Member
TPdfColourBufferSpace: TPdfColourSpace, Components: Integer, BitsPerComponent: Integer, Samples: TBytes, IccProfile: TBytes
TPdfOutputIntentIdentifier: string, RegistryName: string, Info: string, Components: Integer, IccProfile: TBytes
TPdfColourConversionOptionsMaxInputBytes: Integer, MaxOutputBytes: Integer, PreserveOnFailure: Boolean, class function Default: TPdfColourConversionOptions
TPdfColourConversionReportConverted: Boolean, PreservedOriginal: Boolean, InputBytes: Integer, OutputBytes: Integer, ErrorMessage: string

Deklarationen zu Schriftarten und SVG

DeklarationÖffentliche Felder oder Member
TPdfGlyphInfoGlyphID: Cardinal, UnicodeValue: Cardinal, Width: Integer
TPdfGlyphInfosDynamisches Array von TPdfGlyphInfo
TPdfFontSubsetOptionsMaxFontBytes: Integer, MaxGlyphs: Integer, MinimumSavingPercent: Integer, class function Default: TPdfFontSubsetOptions
TPdfFontSubsetReportApplied: Boolean, PreservedOriginal: Boolean, GlyphCount: Integer, OriginalBytes: Integer, SubsetBytes: Integer, ErrorMessage: string
TPdfSvgPathCommandKind: TPdfSvgPathCommandKind, Values: array[0..5] of Double
TPdfSvgPathCommandsDynamisches Array von TPdfSvgPathCommand

Deklarationen zu formatierter Ersetzung und XFA

DeklarationÖffentliche Felder oder Member
TPdfStyledSpanPageIndex: Integer, ObjectIndex: Integer, CharacterStart: Integer, Text: WideString, StyleID: Integer
TPdfStyledSpansDynamisches Array von TPdfStyledSpan
TPdfRegexMatchStartIndex: Integer, Length: Integer, Replacement: WideString
TPdfRegexMatchesDynamisches Array von TPdfRegexMatch
TPdfStyledReplacementMode: TPdfReplacementMode, PageIndex: Integer, FirstObjectIndex: Integer, LastObjectIndex: Integer, FirstCharacter: Integer, CharacterCount: Integer, Replacement: WideString, StyleID: Integer, LastPageIndex: Integer
TPdfStyledReplacementsDynamisches Array von TPdfStyledReplacement
TPdfXfaBindingSomPath: string, Value: string
TPdfXfaBindingsDynamisches Array von TPdfXfaBinding

Deklarationen zu Barcodes und Portfolio

DeklarationÖffentliche Felder oder Member
TPdfBarcodeRectLeft: Double, Top: Double, Right: Double, Bottom: Double
TPdfBarcodeRectsDynamisches Array von TPdfBarcodeRect
TPdfBarcodeResultKind: TPdfBarcodeKind, Text: string, Bounds: TPdfBarcodeRect, Confidence: Double
TPdfBarcodeResultsDynamisches Array von TPdfBarcodeResult
TPdfPortfolioFieldName: string, DisplayName: string, FieldType: TPdfPortfolioFieldType, Order: Integer, Visible: Boolean, Editable: Boolean
TPdfPortfolioFieldsDynamisches Array von TPdfPortfolioField
TPdfPortfolioValueFieldName: string, Value: string
TPdfPortfolioValuesDynamisches Array von TPdfPortfolioValue
TPdfPortfolioItemFileName: string, Description: string, Values: TPdfPortfolioValues, EmbeddedData: TBytes
TPdfPortfolioItemsDynamisches Array von TPdfPortfolioItem
TPdfPortfolioFields: TPdfPortfolioFields, Items: TPdfPortfolioItems, SortField: string, SortAscending: Boolean

RichMedia-Deklarationen

DeklarationÖffentliche Felder
TPdfRichMediaAssetName: string, MimeType: string, Data: TBytes, IsExternal: Boolean, ActivationCondition: string, DefaultView: string
TPdfRichMediaAssetsDynamisches Array von TPdfRichMediaAsset
TPdfRichMediaExtractedName: string, MimeType: string, Size: Int64, Sha256: string
TPdfRichMediaExtractedArrayDynamisches Array von TPdfRichMediaExtracted

Backend-Schnittstellen

SchnittstelleMethodeZweck
IPdfColourTransformfunction Transform(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; out Target: TPdfColourBuffer): BooleanKonvertiert einen validierten Quellpuffer in den angeforderten Farbraum und das angeforderte Profil
IPdfFontSubsetBackendfunction Subset(const FontProgram: TBytes; const Glyphs: TPdfGlyphInfos; out SubsetProgram: TBytes): BooleanErstellt ein Schriftprogramm, das die angeforderte Glyphen-Hülle enthält
IPdfRegexEnginefunction FindMatches(const Text, Pattern, Replacement: WideString; MaxMatches: Integer): TPdfRegexMatchesLiefert begrenzte Übereinstimmungen regulärer Ausdrücke und Ersetzungstext
IPdfBarcodeProviderfunction Generate(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; out Rects: TPdfBarcodeRects): BooleanErzeugt Barcode-Modulrechtecke für eine unterstützte Symbologie
function Recognise(const Pixels: TBytes; Width, Height, Stride: Integer; MaxResults: Integer): TPdfBarcodeResultsErkennt begrenzte Barcode-Ergebnisse aus einem vom Aufrufer bereitgestellten Pixel-Puffer

Factory-Methoden für Standardoptionen

ElementZweck
class function TPdfColourConversionOptions.Default: TPdfColourConversionOptionsLiefert begrenzte Standardwerte für die Farbkonvertierung mit aktivierter Quellbewahrung
class function TPdfFontSubsetOptions.Default: TPdfFontSubsetOptionsLiefert begrenzte Schrift- und Glyphen-Limits mit einer Mindesteinsparungsschwelle

Routinen auf oberster Ebene

SignaturBeschreibung
function ConvertPdfColourBuffer(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; Transform: IPdfColourTransform; const Options: TPdfColourConversionOptions; out Target: TPdfColourBuffer; out OutputIntent: TPdfOutputIntent; out Report: TPdfColourConversionReport): BooleanFührt einen Farbpuffer durch eine Aufrufer-Transformation und erstellt passende OutputIntent-Daten, wobei die Quelle bei einem Fehler erhalten bleibt
function SubsetExistingPdfFont(const FontProgram: TBytes; const UsedGlyphs: TPdfGlyphInfos; Backend: IPdfFontSubsetBackend; const Options: TPdfFontSubsetOptions; out ResultProgram: TBytes; out GlyphClosure: TPdfGlyphInfos; out Report: TPdfFontSubsetReport): BooleanErstellt eine sortierte eindeutige Glyphen-Hülle und akzeptiert eine Teilmenge nur, wenn sie gültig und kleiner ist
function ParsePdfSvgPath(const Data: string; MaxCommands: Integer = 100000): TPdfSvgPathCommandsParst begrenzte Move-, Line-, kubische, quadratische und Close-Befehle mit Unterstützung relativer Koordinaten
function ExportPdfSvgPath(const Commands: TPdfSvgPathCommands): stringSerialisiert Pfadbefehle in absolute SVG-Pfadsyntax
procedure TransformPdfSvgPath(var Commands: TPdfSvgPathCommands; A, B, C, D, E, F: Double)Wendet eine affine Matrix auf jede Koordinate in einem geparsten SVG-Pfad an
function BuildStyledRegexReplacementPlan(const Spans: TPdfStyledSpans; const Pattern, Replacement: WideString; Engine: IPdfRegexEngine; MaxCharacters: Integer = 16 * 1024 * 1024; MaxMatches: Integer = 100000): TPdfStyledReplacementsBildet Übereinstimmungen regulärer Ausdrücke auf formatierte Seitenobjekt-Spans zurück und wählt zwischen nativer Ersetzung und Ersetzung über Redaction
function MergePdfXfaDatasets(const Packets: TXfaPacketList; const Bindings: TPdfXfaBindings; MaxPacketBytes: Integer = 32 * 1024 * 1024): TXfaPacketListFührt escapte SOM-Blattbindungen zusammen, wobei jedes unangetastete XFA-Paket erhalten bleibt
function RewritePdfXfaPacketStreams(Source, Destination: TStream; const Packets: TXfaPacketList; MaxTotalPacketBytes: Int64 = 256 * 1024 * 1024): BooleanHängt transaktional ersetzte XFA-Paketströme an ein unverschlüsseltes PDF an
function GeneratePdfBarcode(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; Provider: IPdfBarcodeProvider = nil): TPdfBarcodeRectsErzeugt eingebaute Code 128-B-Vektoren und delegiert zweidimensionale Symbologien an einen Provider
function RecognisePdfBarcodes(const Pixels: TBytes; Width, Height, Stride: Integer; Provider: IPdfBarcodeProvider; MaxResults: Integer = 256): TPdfBarcodeResultsDelegiert die Barcode-Erkennung und erzwingt dabei Bildgeometrie- und Ergebnisgrenzen
procedure ValidatePdfPortfolio(const Portfolio: TPdfPortfolio; MaxItems: Integer = 100000; MaxEmbeddedBytes: Int64 = 1024 * 1024 * 1024)Validiert Felddefinitionen, Werte, Elementanzahlen und Budgets für eingebettete Nutzdaten
procedure SortPdfPortfolio(var Portfolio: TPdfPortfolio)Prüft Payload-Budgets und erzeugt eine deterministische Collection-Ansicht mit dem konfigurierten Sortierfeld und der Sortierrichtung
function ExtractPdfRichMediaAssets(const Assets: TPdfRichMediaAssets; const OutputDirectory: string; MaxAssetBytes: Int64 = 256 * 1024 * 1024; MaxTotalBytes: Int64 = 1024 * 1024 * 1024): TPdfRichMediaExtractedArraySchreibt eingebettete Assets, ohne Inhalte auszuführen, externe Verweise aufzulösen oder ein Entweichen aus Verzeichnissen zu erlauben

FPdfBarcodeZXing liefert einen optionalen Barcode-Erzeugungs- und Erkennungsprovider

Sicherheitsmodell

Alle APIs mit hohem Datenvolumen erzwingen aufrufersichtbare Grenzen, bevor Ausgaben zugewiesen oder geschrieben werden

Plattform-Codecs, Farb-Engines, Schrift-Subsetter, Engines für reguläre Ausdrücke, Matrix-Barcode-Bibliotheken und Erkennungsinstanzen sind explizite Schnittstellen, damit Hosts ihr geprüftes Backend auswählen können

FPdfStyledEdit führt diese Pläne an einem geprüften Snapshot aus, mit Vorschau, Schriftwiederverwendung oder explizitem Fallback, begrenzter Anpassung und transaktionaler Speicher-/Wiederöffnungsprüfung