PDFium Delphi Component Docs

Unité FPdfProduction

Flux de travail de production bornés pour les graphiques, le contenu de document, les paquets interactifs et les médias incorporés

Exception et énumérations

DéclarationValeurs ou rôle
EPdfProductionException levée pour une entrée de production invalide, des budgets de sécurité épuisés, des opérations non prises en charge et une sortie de moteur rejetée
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

Déclarations de conversion des couleurs

Le fournisseur LittleCMS facultatif implémente la transformation des tampons, et FPdfDocumentColour l’applique aux opérateurs et composantes d’image d’origine avec un rapport explicite de complétude

DéclarationChamps ou membres publics
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

Déclarations pour les polices et SVG

DéclarationChamps ou membres publics
TPdfGlyphInfoGlyphID: Cardinal, UnicodeValue: Cardinal, Width: Integer
TPdfGlyphInfosTableau dynamique de 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
TPdfSvgPathCommandsTableau dynamique de TPdfSvgPathCommand

Déclarations pour le remplacement avec conservation du style et XFA

DéclarationChamps ou membres publics
TPdfStyledSpanPageIndex: Integer, ObjectIndex: Integer, CharacterStart: Integer, Text: WideString, StyleID: Integer
TPdfStyledSpansTableau dynamique de TPdfStyledSpan
TPdfRegexMatchStartIndex: Integer, Length: Integer, Replacement: WideString
TPdfRegexMatchesTableau dynamique de TPdfRegexMatch
TPdfStyledReplacementMode: TPdfReplacementMode, PageIndex: Integer, FirstObjectIndex: Integer, LastObjectIndex: Integer, FirstCharacter: Integer, CharacterCount: Integer, Replacement: WideString, StyleID: Integer, LastPageIndex: Integer
TPdfStyledReplacementsTableau dynamique de TPdfStyledReplacement
TPdfXfaBindingSomPath: string, Value: string
TPdfXfaBindingsTableau dynamique de TPdfXfaBinding

Déclarations pour les codes-barres et Portfolio

DéclarationChamps ou membres publics
TPdfBarcodeRectLeft: Double, Top: Double, Right: Double, Bottom: Double
TPdfBarcodeRectsTableau dynamique de TPdfBarcodeRect
TPdfBarcodeResultKind: TPdfBarcodeKind, Text: string, Bounds: TPdfBarcodeRect, Confidence: Double
TPdfBarcodeResultsTableau dynamique de TPdfBarcodeResult
TPdfPortfolioFieldName: string, DisplayName: string, FieldType: TPdfPortfolioFieldType, Order: Integer, Visible: Boolean, Editable: Boolean
TPdfPortfolioFieldsTableau dynamique de TPdfPortfolioField
TPdfPortfolioValueFieldName: string, Value: string
TPdfPortfolioValuesTableau dynamique de TPdfPortfolioValue
TPdfPortfolioItemFileName: string, Description: string, Values: TPdfPortfolioValues, EmbeddedData: TBytes
TPdfPortfolioItemsTableau dynamique de TPdfPortfolioItem
TPdfPortfolioFields: TPdfPortfolioFields, Items: TPdfPortfolioItems, SortField: string, SortAscending: Boolean

Déclarations RichMedia

DéclarationChamps publics
TPdfRichMediaAssetName: string, MimeType: string, Data: TBytes, IsExternal: Boolean, ActivationCondition: string, DefaultView: string
TPdfRichMediaAssetsTableau dynamique de TPdfRichMediaAsset
TPdfRichMediaExtractedName: string, MimeType: string, Size: Int64, Sha256: string
TPdfRichMediaExtractedArrayTableau dynamique de TPdfRichMediaExtracted

Interfaces des backends

InterfaceMéthodeRôle
IPdfColourTransformfunction Transform(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; out Target: TPdfColourBuffer): BooleanConvertit un tampon source validé vers l’espace colorimétrique et le profil demandés
IPdfFontSubsetBackendfunction Subset(const FontProgram: TBytes; const Glyphs: TPdfGlyphInfos; out SubsetProgram: TBytes): BooleanConstruit un programme de police contenant la fermeture de glyphes demandée
IPdfRegexEnginefunction FindMatches(const Text, Pattern, Replacement: WideString; MaxMatches: Integer): TPdfRegexMatchesRenvoie des correspondances d’expressions régulières bornées et le texte de remplacement
IPdfBarcodeProviderfunction Generate(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; out Rects: TPdfBarcodeRects): BooleanGénère les rectangles de modules de code-barres pour une symbologie prise en charge
function Recognise(const Pixels: TBytes; Width, Height, Stride: Integer; MaxResults: Integer): TPdfBarcodeResultsReconnaît des résultats de codes-barres bornés depuis un tampon de pixels détenu par l’appelant

Fabriques d’options par défaut

MembreRôle
class function TPdfColourConversionOptions.Default: TPdfColourConversionOptionsRenvoie des valeurs par défaut de conversion colorimétrique bornées avec préservation de la source activée
class function TPdfFontSubsetOptions.Default: TPdfFontSubsetOptionsRenvoie des limites de police et de glyphes bornées avec un seuil d’économie minimale

Fonctions et procédures globales

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): BooleanFait passer un tampon colorimétrique à travers une transformation de l’appelant et construit des données OutputIntent correspondantes tout en préservant la source en cas d’échec
function SubsetExistingPdfFont(const FontProgram: TBytes; const UsedGlyphs: TPdfGlyphInfos; Backend: IPdfFontSubsetBackend; const Options: TPdfFontSubsetOptions; out ResultProgram: TBytes; out GlyphClosure: TPdfGlyphInfos; out Report: TPdfFontSubsetReport): BooleanConstruit une fermeture de glyphes unique triée et n’accepte un sous-ensemble que s’il est valide et plus petit
function ParsePdfSvgPath(const Data: string; MaxCommands: Integer = 100000): TPdfSvgPathCommandsAnalyse des commandes bornées de déplacement, ligne, cubique, quadratique et fermeture avec prise en charge des coordonnées relatives
function ExportPdfSvgPath(const Commands: TPdfSvgPathCommands): stringSérialise les commandes de chemin en syntaxe de chemin SVG absolue
procedure TransformPdfSvgPath(var Commands: TPdfSvgPathCommands; A, B, C, D, E, F: Double)Applique une matrice affine à chaque coordonnée d’un chemin SVG analysé
function BuildStyledRegexReplacementPlan(const Spans: TPdfStyledSpans; const Pattern, Replacement: WideString; Engine: IPdfRegexEngine; MaxCharacters: Integer = 16 * 1024 * 1024; MaxMatches: Integer = 100000): TPdfStyledReplacementsReporte les correspondances d’expressions régulières sur les étendues stylisées d’objets de page et sélectionne un remplacement natif ou par caviardage
function MergePdfXfaDatasets(const Packets: TXfaPacketList; const Bindings: TPdfXfaBindings; MaxPacketBytes: Integer = 32 * 1024 * 1024): TXfaPacketListFusionne les liaisons SOM feuilles échappées tout en préservant chaque paquet XFA intact
function RewritePdfXfaPacketStreams(Source, Destination: TStream; const Packets: TXfaPacketList; MaxTotalPacketBytes: Int64 = 256 * 1024 * 1024): BooleanAjoute des flux de paquets XFA remplacés de façon transactionnelle à un PDF non chiffré
function GeneratePdfBarcode(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; Provider: IPdfBarcodeProvider = nil): TPdfBarcodeRectsGénère des vecteurs Code 128-B intégrés et délègue les symbologies bidimensionnelles à un fournisseur
function RecognisePdfBarcodes(const Pixels: TBytes; Width, Height, Stride: Integer; Provider: IPdfBarcodeProvider; MaxResults: Integer = 256): TPdfBarcodeResultsDélègue la reconnaissance de codes-barres tout en appliquant la géométrie d’image et les bornes de résultats
procedure ValidatePdfPortfolio(const Portfolio: TPdfPortfolio; MaxItems: Integer = 100000; MaxEmbeddedBytes: Int64 = 1024 * 1024 * 1024)Valide les définitions de champs, les valeurs, les comptages d’éléments et les budgets de charges utiles incorporées
procedure SortPdfPortfolio(var Portfolio: TPdfPortfolio)Crée une vue Collection déterministe en utilisant le champ et le sens de tri configurés
function ExtractPdfRichMediaAssets(const Assets: TPdfRichMediaAssets; const OutputDirectory: string; MaxAssetBytes: Int64 = 256 * 1024 * 1024; MaxTotalBytes: Int64 = 1024 * 1024 * 1024): TPdfRichMediaExtractedArrayÉcrit les ressources incorporées sans exécuter de contenu, résoudre de références externes ni permettre d’évasion de répertoire

FPdfBarcodeZXing fournit un générateur et lecteur de codes-barres facultatif

Modèle de sécurité

Toutes les API à fort volume appliquent des limites visibles par l’appelant avant d’allouer ou d’écrire une sortie

Les codecs de plateforme, moteurs colorimétriques, sous-ensembleteurs de polices, moteurs d’expressions régulières, bibliothèques de codes-barres matriciels et modules de reconnaissance sont des interfaces explicites afin que les hôtes puissent sélectionner leur moteur audité

FPdfStyledEdit exécute ces plans sur un instantané source vérifié, avec aperçu, réutilisation des polices ou secours explicite, ajustement borné et vérification transactionnelle par enregistrement/réouverture