PDFium Delphi Component Docs

Unidad FPdfProduction

Flujos de trabajo de producción acotados para gráficos, contenido de documentos, paquetes interactivos y medios incrustados

Excepciones y enumeraciones

DeclaraciónValores o finalidad
EPdfProductionExcepción lanzada por entradas de producción no válidas, presupuestos de seguridad agotados, operaciones no admitidas y resultados de backend rechazados
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

Declaraciones de conversión de color

El proveedor LittleCMS opcional implementa la interfaz de transformación de búferes, y FPdfDocumentColour la aplica a los operadores originales del documento y los componentes de imagen con informes explícitos de completitud

DeclaraciónCampos o miembros 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

Declaraciones de fuentes y SVG

DeclaraciónCampos o miembros públicos
TPdfGlyphInfoGlyphID: Cardinal, UnicodeValue: Cardinal, Width: Integer
TPdfGlyphInfosMatriz dinámica 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
TPdfSvgPathCommandsMatriz dinámica de TPdfSvgPathCommand

Declaraciones de sustitución con estilos y XFA

DeclaraciónCampos o miembros públicos
TPdfStyledSpanPageIndex: Integer, ObjectIndex: Integer, CharacterStart: Integer, Text: WideString, StyleID: Integer
TPdfStyledSpansMatriz dinámica de TPdfStyledSpan
TPdfRegexMatchStartIndex: Integer, Length: Integer, Replacement: WideString
TPdfRegexMatchesMatriz dinámica de TPdfRegexMatch
TPdfStyledReplacementMode: TPdfReplacementMode, PageIndex: Integer, FirstObjectIndex: Integer, LastObjectIndex: Integer, FirstCharacter: Integer, CharacterCount: Integer, Replacement: WideString, StyleID: Integer, LastPageIndex: Integer
TPdfStyledReplacementsMatriz dinámica de TPdfStyledReplacement
TPdfXfaBindingSomPath: string, Value: string
TPdfXfaBindingsMatriz dinámica de TPdfXfaBinding

Declaraciones de códigos de barras y Portfolio

DeclaraciónCampos o miembros públicos
TPdfBarcodeRectLeft: Double, Top: Double, Right: Double, Bottom: Double
TPdfBarcodeRectsMatriz dinámica de TPdfBarcodeRect
TPdfBarcodeResultKind: TPdfBarcodeKind, Text: string, Bounds: TPdfBarcodeRect, Confidence: Double
TPdfBarcodeResultsMatriz dinámica de TPdfBarcodeResult
TPdfPortfolioFieldName: string, DisplayName: string, FieldType: TPdfPortfolioFieldType, Order: Integer, Visible: Boolean, Editable: Boolean
TPdfPortfolioFieldsMatriz dinámica de TPdfPortfolioField
TPdfPortfolioValueFieldName: string, Value: string
TPdfPortfolioValuesMatriz dinámica de TPdfPortfolioValue
TPdfPortfolioItemFileName: string, Description: string, Values: TPdfPortfolioValues, EmbeddedData: TBytes
TPdfPortfolioItemsMatriz dinámica de TPdfPortfolioItem
TPdfPortfolioFields: TPdfPortfolioFields, Items: TPdfPortfolioItems, SortField: string, SortAscending: Boolean

Declaraciones de RichMedia

DeclaraciónCampos públicos
TPdfRichMediaAssetName: string, MimeType: string, Data: TBytes, IsExternal: Boolean, ActivationCondition: string, DefaultView: string
TPdfRichMediaAssetsMatriz dinámica de TPdfRichMediaAsset
TPdfRichMediaExtractedName: string, MimeType: string, Size: Int64, Sha256: string
TPdfRichMediaExtractedArrayMatriz dinámica de TPdfRichMediaExtracted

Interfaces de backend

InterfazMétodoFinalidad
IPdfColourTransformfunction Transform(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; out Target: TPdfColourBuffer): BooleanConvierte un búfer de origen validado al espacio de color y al perfil solicitados
IPdfFontSubsetBackendfunction Subset(const FontProgram: TBytes; const Glyphs: TPdfGlyphInfos; out SubsetProgram: TBytes): BooleanConstruye un programa de fuente que contiene la clausura de glifos solicitada
IPdfRegexEnginefunction FindMatches(const Text, Pattern, Replacement: WideString; MaxMatches: Integer): TPdfRegexMatchesDevuelve coincidencias acotadas de expresiones regulares y texto de reemplazo
IPdfBarcodeProviderfunction Generate(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; out Rects: TPdfBarcodeRects): BooleanGenera rectángulos de módulos de código de barras para una simbología admitida
function Recognise(const Pixels: TBytes; Width, Height, Stride: Integer; MaxResults: Integer): TPdfBarcodeResultsReconoce resultados acotados de códigos de barras a partir de un búfer de píxeles propiedad del llamador

Funciones de creación de opciones predeterminadas

MiembroFinalidad
class function TPdfColourConversionOptions.Default: TPdfColourConversionOptionsDevuelve valores predeterminados acotados de conversión de color con la preservación del origen habilitada
class function TPdfFontSubsetOptions.Default: TPdfFontSubsetOptionsDevuelve límites acotados de fuentes y glifos con un umbral mínimo de ahorro

Rutinas de nivel superior

FirmaDescripción
function ConvertPdfColourBuffer(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; Transform: IPdfColourTransform; const Options: TPdfColourConversionOptions; out Target: TPdfColourBuffer; out OutputIntent: TPdfOutputIntent; out Report: TPdfColourConversionReport): BooleanProcesa un búfer de color con una transformación del llamador y construye datos OutputIntent coincidentes preservando el origen en caso de fallo
function SubsetExistingPdfFont(const FontProgram: TBytes; const UsedGlyphs: TPdfGlyphInfos; Backend: IPdfFontSubsetBackend; const Options: TPdfFontSubsetOptions; out ResultProgram: TBytes; out GlyphClosure: TPdfGlyphInfos; out Report: TPdfFontSubsetReport): BooleanConstruye una clausura ordenada de glifos únicos y acepta un subconjunto solo cuando es válido y más pequeño
function ParsePdfSvgPath(const Data: string; MaxCommands: Integer = 100000): TPdfSvgPathCommandsAnaliza comandos acotados de movimiento, línea, curva cúbica, curva cuadrática y cierre con soporte de coordenadas relativas
function ExportPdfSvgPath(const Commands: TPdfSvgPathCommands): stringSerializa comandos de ruta a la sintaxis de ruta SVG absoluta
procedure TransformPdfSvgPath(var Commands: TPdfSvgPathCommands; A, B, C, D, E, F: Double)Aplica una matriz afín a cada coordenada de una ruta SVG analizada
function BuildStyledRegexReplacementPlan(const Spans: TPdfStyledSpans; const Pattern, Replacement: WideString; Engine: IPdfRegexEngine; MaxCharacters: Integer = 16 * 1024 * 1024; MaxMatches: Integer = 100000): TPdfStyledReplacementsMapea coincidencias de expresiones regulares de vuelta a fragmentos con estilo de objetos de página y selecciona reemplazo nativo o basado en redacción
function MergePdfXfaDatasets(const Packets: TXfaPacketList; const Bindings: TPdfXfaBindings; MaxPacketBytes: Integer = 32 * 1024 * 1024): TXfaPacketListFusiona enlaces hoja SOM con escape preservando cada paquete XFA intacto
function RewritePdfXfaPacketStreams(Source, Destination: TStream; const Packets: TXfaPacketList; MaxTotalPacketBytes: Int64 = 256 * 1024 * 1024): BooleanAnexa flujos de paquetes XFA reemplazados transaccionalmente a un PDF sin cifrar
function GeneratePdfBarcode(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; Provider: IPdfBarcodeProvider = nil): TPdfBarcodeRectsGenera vectores Code 128-B integrados y delega las simbologías bidimensionales a un proveedor
function RecognisePdfBarcodes(const Pixels: TBytes; Width, Height, Stride: Integer; Provider: IPdfBarcodeProvider; MaxResults: Integer = 256): TPdfBarcodeResultsDelega el reconocimiento de códigos de barras imponiendo la geometría de imagen y los límites de resultados
procedure ValidatePdfPortfolio(const Portfolio: TPdfPortfolio; MaxItems: Integer = 100000; MaxEmbeddedBytes: Int64 = 1024 * 1024 * 1024)Valida definiciones de campos, valores, recuentos de elementos y presupuestos de cargas incrustadas
procedure SortPdfPortfolio(var Portfolio: TPdfPortfolio)Crea una vista Collection determinista usando el campo y la dirección de ordenación configurados
function ExtractPdfRichMediaAssets(const Assets: TPdfRichMediaAssets; const OutputDirectory: string; MaxAssetBytes: Int64 = 256 * 1024 * 1024; MaxTotalBytes: Int64 = 1024 * 1024 * 1024): TPdfRichMediaExtractedArrayEscribe recursos incrustados sin ejecutar contenido, resolver referencias externas ni permitir escapes de directorio

FPdfBarcodeZXing proporciona un proveedor opcional para generar y reconocer códigos de barras

Modelo de seguridad

Todas las API de alto volumen imponen límites visibles para el llamador antes de asignar memoria o escribir la salida

Los códecs de plataforma, los motores de color, los creadores de subconjuntos de fuentes, los motores de expresiones regulares, las bibliotecas de códigos de barras matriciales y los reconocedores son interfaces explícitas para que los anfitriones puedan seleccionar su backend auditado

FPdfStyledEdit ejecuta estos planes sobre una instantánea verificada del origen, con vista previa, reutilización de fuentes o fallback explícito, ajuste acotado y verificación transaccional al guardar y volver a abrir