PDFium Delphi Component Docs

Unidade FPdfProduction

Fluxos de trabalho de produção limitados para gráficos, conteúdo de documento, pacotes interativos e mídia incorporada

Exceção e enumerações

DeclaraçãoValores ou finalidade
EPdfProductionExceção lançada para entrada de produção inválida, orçamentos de segurança esgotados, operações não suportadas e saídas de backend rejeitadas
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

Declarações de conversão de cores

O provedor LittleCMS opcional implementa a interface de transformação de buffer, e o FPdfDocumentColour o aplica aos operadores originais do documento e aos componentes de imagem com relatórios explícitos de completude

DeclaraçãoCampos ou membros públicos
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

Declarações de fontes e SVG

DeclaraçãoCampos ou membros públicos
TPdfGlyphInfoGlyphID: Cardinal, UnicodeValue: Cardinal, Width: Integer
TPdfGlyphInfosArray dinâmico 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
TPdfSvgPathCommandsArray dinâmico de TPdfSvgPathCommand

Declarações de substituição com estilo e XFA

DeclaraçãoCampos ou membros públicos
TPdfStyledSpanPageIndex: Integer, ObjectIndex: Integer, CharacterStart: Integer, Text: WideString, StyleID: Integer
TPdfStyledSpansArray dinâmico de TPdfStyledSpan
TPdfRegexMatchStartIndex: Integer, Length: Integer, Replacement: WideString
TPdfRegexMatchesArray dinâmico de TPdfRegexMatch
TPdfStyledReplacementMode: TPdfReplacementMode, PageIndex: Integer, FirstObjectIndex: Integer, LastObjectIndex: Integer, FirstCharacter: Integer, CharacterCount: Integer, Replacement: WideString, StyleID: Integer, LastPageIndex: Integer
TPdfStyledReplacementsArray dinâmico de TPdfStyledReplacement
TPdfXfaBindingSomPath: string, Value: string
TPdfXfaBindingsArray dinâmico de TPdfXfaBinding

Declarações de códigos de barras e Portfolio

DeclaraçãoCampos ou membros públicos
TPdfBarcodeRectLeft: Double, Top: Double, Right: Double, Bottom: Double
TPdfBarcodeRectsArray dinâmico de TPdfBarcodeRect
TPdfBarcodeResultKind: TPdfBarcodeKind, Text: string, Bounds: TPdfBarcodeRect, Confidence: Double
TPdfBarcodeResultsArray dinâmico de TPdfBarcodeResult
TPdfPortfolioFieldName: string, DisplayName: string, FieldType: TPdfPortfolioFieldType, Order: Integer, Visible: Boolean, Editable: Boolean
TPdfPortfolioFieldsArray dinâmico de TPdfPortfolioField
TPdfPortfolioValueFieldName: string, Value: string
TPdfPortfolioValuesArray dinâmico de TPdfPortfolioValue
TPdfPortfolioItemFileName: string, Description: string, Values: TPdfPortfolioValues, EmbeddedData: TBytes
TPdfPortfolioItemsArray dinâmico de TPdfPortfolioItem
TPdfPortfolioFields: TPdfPortfolioFields, Items: TPdfPortfolioItems, SortField: string, SortAscending: Boolean

Declarações RichMedia

DeclaraçãoCampos públicos
TPdfRichMediaAssetName: string, MimeType: string, Data: TBytes, IsExternal: Boolean, ActivationCondition: string, DefaultView: string
TPdfRichMediaAssetsArray dinâmico de TPdfRichMediaAsset
TPdfRichMediaExtractedName: string, MimeType: string, Size: Int64, Sha256: string
TPdfRichMediaExtractedArrayArray dinâmico de TPdfRichMediaExtracted

Interfaces de backend

InterfaceMétodoFinalidade
IPdfColourTransformfunction Transform(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; out Target: TPdfColourBuffer): BooleanConverte um buffer de origem validado para o espaço de cor e o perfil solicitados
IPdfFontSubsetBackendfunction Subset(const FontProgram: TBytes; const Glyphs: TPdfGlyphInfos; out SubsetProgram: TBytes): BooleanConstrói um programa de fonte contendo o fechamento de glifos solicitado
IPdfRegexEnginefunction FindMatches(const Text, Pattern, Replacement: WideString; MaxMatches: Integer): TPdfRegexMatchesRetorna correspondências limitadas de expressões regulares e texto de substituição
IPdfBarcodeProviderfunction Generate(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; out Rects: TPdfBarcodeRects): BooleanGera retângulos de módulos de código de barras para uma simbologia suportada
function Recognise(const Pixels: TBytes; Width, Height, Stride: Integer; MaxResults: Integer): TPdfBarcodeResultsReconhece resultados limitados de código de barras a partir de um buffer de pixels pertencente ao chamador

Fábricas de opções padrão

MembroFinalidade
class function TPdfColourConversionOptions.Default: TPdfColourConversionOptionsRetorna padrões limitados de conversão de cores com preservação da origem ativada
class function TPdfFontSubsetOptions.Default: TPdfFontSubsetOptionsRetorna limites de fontes e glifos com teto e um limiar mínimo de economia

Rotinas de nível superior

AssinaturaDescrição
function ConvertPdfColourBuffer(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; Transform: IPdfColourTransform; const Options: TPdfColourConversionOptions; out Target: TPdfColourBuffer; out OutputIntent: TPdfOutputIntent; out Report: TPdfColourConversionReport): BooleanProcessa um buffer de cores por meio de uma transformação do chamador e constrói dados OutputIntent correspondentes, preservando a origem em caso de falha
function SubsetExistingPdfFont(const FontProgram: TBytes; const UsedGlyphs: TPdfGlyphInfos; Backend: IPdfFontSubsetBackend; const Options: TPdfFontSubsetOptions; out ResultProgram: TBytes; out GlyphClosure: TPdfGlyphInfos; out Report: TPdfFontSubsetReport): BooleanConstrói um fechamento de glifos único e ordenado e aceita um subconjunto apenas quando é válido e menor
function ParsePdfSvgPath(const Data: string; MaxCommands: Integer = 100000): TPdfSvgPathCommandsAnalisa comandos limitados de movimentação, linha, cúbica, quadrática e fechamento com suporte a coordenadas relativas
function ExportPdfSvgPath(const Commands: TPdfSvgPathCommands): stringSerializa comandos de caminho para a sintaxe de caminho SVG absoluta
procedure TransformPdfSvgPath(var Commands: TPdfSvgPathCommands; A, B, C, D, E, F: Double)Aplica uma matriz afim a cada coordenada em um caminho SVG analisado
function BuildStyledRegexReplacementPlan(const Spans: TPdfStyledSpans; const Pattern, Replacement: WideString; Engine: IPdfRegexEngine; MaxCharacters: Integer = 16 * 1024 * 1024; MaxMatches: Integer = 100000): TPdfStyledReplacementsMapeia correspondências de expressões regulares de volta para spans estilizados de objetos de página e seleciona substituição nativa ou baseada em redação
function MergePdfXfaDatasets(const Packets: TXfaPacketList; const Bindings: TPdfXfaBindings; MaxPacketBytes: Integer = 32 * 1024 * 1024): TXfaPacketListMescla associações de folha SOM com escape, preservando cada pacote XFA intocado
function RewritePdfXfaPacketStreams(Source, Destination: TStream; const Packets: TXfaPacketList; MaxTotalPacketBytes: Int64 = 256 * 1024 * 1024): BooleanAnexa fluxos de pacotes XFA substituídos de forma transacional a um PDF não criptografado
function GeneratePdfBarcode(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; Provider: IPdfBarcodeProvider = nil): TPdfBarcodeRectsGera vetores Code 128-B integrados e delega simbologias bidimensionais a um provedor
function RecognisePdfBarcodes(const Pixels: TBytes; Width, Height, Stride: Integer; Provider: IPdfBarcodeProvider; MaxResults: Integer = 256): TPdfBarcodeResultsDelega o reconhecimento de códigos de barras impondo geometria de imagem e limites de resultados
procedure ValidatePdfPortfolio(const Portfolio: TPdfPortfolio; MaxItems: Integer = 100000; MaxEmbeddedBytes: Int64 = 1024 * 1024 * 1024)Valida definições de campos, valores, contagens de itens e orçamentos de payload incorporado
procedure SortPdfPortfolio(var Portfolio: TPdfPortfolio)Cria uma exibição Collection determinística usando o campo e a direção de ordenação configurados
function ExtractPdfRichMediaAssets(const Assets: TPdfRichMediaAssets; const OutputDirectory: string; MaxAssetBytes: Int64 = 256 * 1024 * 1024; MaxTotalBytes: Int64 = 1024 * 1024 * 1024): TPdfRichMediaExtractedArrayGrava ativos incorporados sem executar conteúdo, resolver referências externas ou permitir escape de diretório

FPdfBarcodeZXing fornece um provedor opcional de geração e reconhecimento de códigos de barras

Modelo de segurança

Todas as APIs de alto volume impõem limites visíveis ao chamador antes de alocar ou gravar saída

Codecs de plataforma, engines de cores, subconjuntos de fontes, engines de expressões regulares, bibliotecas de códigos de barras matriciais e reconhecedores são interfaces explícitas para que os hosts possam selecionar seu backend auditado

FPdfStyledEdit executa esses planos contra um snapshot de origem verificado, com pré-visualização, reutilização de fontes ou fallback explícito, ajuste delimitado e verificação transacional de salvar/reabrir