PDFium Component Docs

FPdfProduction Moduł

Ograniczone przepływy produkcyjne dla grafiki, zawartości dokumentów, interaktywnych pakietów i osadzonych multimediów

Exception and enumerations

DeclarationValues or purpose
EPdfProductionWyjątek zgłaszany dla nieprawidłowego wejścia produkcyjnego, wyczerpanych budżetów bezpieczeństwa, nieobsługiwanych operacji i odrzuconego wyjścia backendu
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

Colour conversion declarations

opcjonalny dostawca LittleCMS implementuje interfejs transformacji buforów, a FPdfDocumentColour stosuje go do operatorów oryginalnego dokumentu i komponentów obrazu z jawnymi raportami kompletności

DeclarationPublic fields or members
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

Font and SVG declarations

DeclarationPublic fields or members
TPdfGlyphInfoGlyphID: Cardinal, UnicodeValue: Cardinal, Width: Integer
TPdfGlyphInfosTablica dynamiczna elementów 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
TPdfSvgPathCommandsTablica dynamiczna elementów TPdfSvgPathCommand

Styled replacement and XFA declarations

DeclarationPublic fields or members
TPdfStyledSpanPageIndex: Integer, ObjectIndex: Integer, CharacterStart: Integer, Text: WideString, StyleID: Integer
TPdfStyledSpansTablica dynamiczna elementów TPdfStyledSpan
TPdfRegexMatchStartIndex: Integer, Length: Integer, Replacement: WideString
TPdfRegexMatchesTablica dynamiczna elementów TPdfRegexMatch
TPdfStyledReplacementMode: TPdfReplacementMode, PageIndex: Integer, FirstObjectIndex: Integer, LastObjectIndex: Integer, FirstCharacter: Integer, CharacterCount: Integer, Replacement: WideString, StyleID: Integer, LastPageIndex: Integer
TPdfStyledReplacementsTablica dynamiczna elementów TPdfStyledReplacement
TPdfXfaBindingSomPath: string, Value: string
TPdfXfaBindingsTablica dynamiczna elementów TPdfXfaBinding

Barcode and Portfolio declarations

DeclarationPublic fields or members
TPdfBarcodeRectLeft: Double, Top: Double, Right: Double, Bottom: Double
TPdfBarcodeRectsTablica dynamiczna elementów TPdfBarcodeRect
TPdfBarcodeResultKind: TPdfBarcodeKind, Text: string, Bounds: TPdfBarcodeRect, Confidence: Double
TPdfBarcodeResultsTablica dynamiczna elementów TPdfBarcodeResult
TPdfPortfolioFieldName: string, DisplayName: string, FieldType: TPdfPortfolioFieldType, Order: Integer, Visible: Boolean, Editable: Boolean
TPdfPortfolioFieldsTablica dynamiczna elementów TPdfPortfolioField
TPdfPortfolioValueFieldName: string, Value: string
TPdfPortfolioValuesTablica dynamiczna elementów TPdfPortfolioValue
TPdfPortfolioItemFileName: string, Description: string, Values: TPdfPortfolioValues, EmbeddedData: TBytes
TPdfPortfolioItemsTablica dynamiczna elementów TPdfPortfolioItem
TPdfPortfolioFields: TPdfPortfolioFields, Items: TPdfPortfolioItems, SortField: string, SortAscending: Boolean

RichMedia declarations

DeclarationPublic fields
TPdfRichMediaAssetName: string, MimeType: string, Data: TBytes, IsExternal: Boolean, ActivationCondition: string, DefaultView: string
TPdfRichMediaAssetsTablica dynamiczna elementów TPdfRichMediaAsset
TPdfRichMediaExtractedName: string, MimeType: string, Size: Int64, Sha256: string
TPdfRichMediaExtractedArrayTablica dynamiczna elementów TPdfRichMediaExtracted

Backend interfaces

InterfaceMethodPurpose
IPdfColourTransformfunction Transform(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; out Target: TPdfColourBuffer): BooleanKonwertuje zwalidowany bufor źródłowy na żądaną przestrzeń kolorów i profil
IPdfFontSubsetBackendfunction Subset(const FontProgram: TBytes; const Glyphs: TPdfGlyphInfos; out SubsetProgram: TBytes): BooleanBuduje program czcionki zawierający żądane domknięcie glifów
IPdfRegexEnginefunction FindMatches(const Text, Pattern, Replacement: WideString; MaxMatches: Integer): TPdfRegexMatchesZwraca ograniczone dopasowania wyrażeń regularnych i tekst zastępczy
IPdfBarcodeProviderfunction Generate(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; out Rects: TPdfBarcodeRects): BooleanGeneruje prostokąty modułów kodu kreskowego dla obsługiwanej symbologii
function Recognise(const Pixels: TBytes; Width, Height, Stride: Integer; MaxResults: Integer): TPdfBarcodeResultsRozpoznaje ograniczone wyniki kodów kreskowych z bufora pikseli należącego do wywołującego

Default option factories

MemberPurpose
class function TPdfColourConversionOptions.Default: TPdfColourConversionOptionsZwraca ograniczone wartości domyślne konwersji kolorów z włączonym zachowaniem źródła
class function TPdfFontSubsetOptions.Default: TPdfFontSubsetOptionsZwraca ograniczone limity czcionek i glifów z minimalnym progiem oszczędności

Top-level routines

SignatureDescription
function ConvertPdfColourBuffer(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; Transform: IPdfColourTransform; const Options: TPdfColourConversionOptions; out Target: TPdfColourBuffer; out OutputIntent: TPdfOutputIntent; out Report: TPdfColourConversionReport): BooleanPrzeprowadza bufor kolorów przez transformację wywołującego i buduje pasujące dane OutputIntent, zachowując źródło w razie niepowodzenia
function SubsetExistingPdfFont(const FontProgram: TBytes; const UsedGlyphs: TPdfGlyphInfos; Backend: IPdfFontSubsetBackend; const Options: TPdfFontSubsetOptions; out ResultProgram: TBytes; out GlyphClosure: TPdfGlyphInfos; out Report: TPdfFontSubsetReport): BooleanBuduje posortowane domknięcie unikalnych glifów i akceptuje podzbiór tylko wtedy, gdy jest prawidłowy i mniejszy
function ParsePdfSvgPath(const Data: string; MaxCommands: Integer = 100000): TPdfSvgPathCommandsParsuje ograniczone polecenia przeniesienia, linii, krzywej sześciennej, krzywej kwadratowej i zamknięcia z obsługą współrzędnych względnych
function ExportPdfSvgPath(const Commands: TPdfSvgPathCommands): stringSerializuje polecenia ścieżki do absolutnej składni ścieżki SVG
procedure TransformPdfSvgPath(var Commands: TPdfSvgPathCommands; A, B, C, D, E, F: Double)Stosuje macierz afiniczną do każdej współrzędnej w sparsowanej ścieżce SVG
function BuildStyledRegexReplacementPlan(const Spans: TPdfStyledSpans; const Pattern, Replacement: WideString; Engine: IPdfRegexEngine; MaxCharacters: Integer = 16 * 1024 * 1024; MaxMatches: Integer = 100000): TPdfStyledReplacementsOdwzorowuje dopasowania wyrażeń regularnych z powrotem na zakresy obiektów strony ze stylami i wybiera zastąpienie natywne lub oparte na redakcji
function MergePdfXfaDatasets(const Packets: TXfaPacketList; const Bindings: TPdfXfaBindings; MaxPacketBytes: Integer = 32 * 1024 * 1024): TXfaPacketListScala powiązania liści SOM z sekwencjami ucieczki, zachowując każdy nietknięty pakiet XFA
function RewritePdfXfaPacketStreams(Source, Destination: TStream; const Packets: TXfaPacketList; MaxTotalPacketBytes: Int64 = 256 * 1024 * 1024): BooleanDołącza transakcyjnie zastąpione strumienie pakietów XFA do niezaszyfrowanego PDF
function GeneratePdfBarcode(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; Provider: IPdfBarcodeProvider = nil): TPdfBarcodeRectsGeneruje wbudowane wektory Code 128-B i deleguje symbologie dwuwymiarowe do dostawcy
function RecognisePdfBarcodes(const Pixels: TBytes; Width, Height, Stride: Integer; Provider: IPdfBarcodeProvider; MaxResults: Integer = 256): TPdfBarcodeResultsDeleguje rozpoznawanie kodów kreskowych, wymuszając geometrię obrazu i granice wyników
procedure ValidatePdfPortfolio(const Portfolio: TPdfPortfolio; MaxItems: Integer = 100000; MaxEmbeddedBytes: Int64 = 1024 * 1024 * 1024)Waliduje definicje pól, wartości, liczby elementów i budżety osadzonych ładunków
procedure SortPdfPortfolio(var Portfolio: TPdfPortfolio)Tworzy deterministyczny widok Collection przy użyciu skonfigurowanego pola i kierunku sortowania
function ExtractPdfRichMediaAssets(const Assets: TPdfRichMediaAssets; const OutputDirectory: string; MaxAssetBytes: Int64 = 256 * 1024 * 1024; MaxTotalBytes: Int64 = 1024 * 1024 * 1024): TPdfRichMediaExtractedArrayZapisuje osadzone zasoby bez wykonywania treści, rozwiązywania odnośników zewnętrznych i bez zezwalania na wyjście poza katalog

FPdfBarcodeZXing dostarcza opcjonalnego dostawcę generowania i rozpoznawania kodów kreskowych

Safety model

Wszystkie interfejsy API o dużej objętości wymuszają widoczne dla wywołującego limity przed przydzieleniem pamięci lub zapisem wyjścia

Kodeki platformowe, silniki kolorów, narzędzia podzbioru czcionek, silniki wyrażeń regularnych, biblioteki kodów kreskowych macierzowych i rozpoznawacze są jawnymi interfejsami, aby hosty mogły wybrać swój audytowany backend

FPdfStyledEdit wykonuje te plany względem zweryfikowanej migawki źródła, z podglądem, ponownym użyciem czcionek lub jawnym fallbackiem, ograniczonym dopasowaniem i transakcyjną weryfikacją zapis/ponowne otwarcie