PDFium Delphi Component Docs

Модуль FPdfProduction

Ограниченные производственные рабочие процессы для графики, содержимого документов, интерактивных пакетов и внедрённых медиа

Exception and enumerations

DeclarationValues or purpose
EPdfProductionИсключение, возникающее при недопустимых входных данных производства, исчерпанных бюджетах безопасности, неподдерживаемых операциях и отклонённом выводе бэкенда
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

опциональный провайдер LittleCMS реализует интерфейс преобразования буфера, а FPdfDocumentColour применяет его к исходным операторам документа и компонентам изображений с явными отчётами о полноте

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
TPdfGlyphInfosДинамический массив 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
TPdfSvgPathCommandsДинамический массив TPdfSvgPathCommand

Styled replacement and XFA declarations

DeclarationPublic fields or members
TPdfStyledSpanPageIndex: Integer, ObjectIndex: Integer, CharacterStart: Integer, Text: WideString, StyleID: Integer
TPdfStyledSpansДинамический массив TPdfStyledSpan
TPdfRegexMatchStartIndex: Integer, Length: Integer, Replacement: WideString
TPdfRegexMatchesДинамический массив TPdfRegexMatch
TPdfStyledReplacementMode: TPdfReplacementMode, PageIndex: Integer, FirstObjectIndex: Integer, LastObjectIndex: Integer, FirstCharacter: Integer, CharacterCount: Integer, Replacement: WideString, StyleID: Integer, LastPageIndex: Integer
TPdfStyledReplacementsДинамический массив TPdfStyledReplacement
TPdfXfaBindingSomPath: string, Value: string
TPdfXfaBindingsДинамический массив TPdfXfaBinding

Barcode and Portfolio declarations

DeclarationPublic fields or members
TPdfBarcodeRectLeft: Double, Top: Double, Right: Double, Bottom: Double
TPdfBarcodeRectsДинамический массив TPdfBarcodeRect
TPdfBarcodeResultKind: TPdfBarcodeKind, Text: string, Bounds: TPdfBarcodeRect, Confidence: Double
TPdfBarcodeResultsДинамический массив TPdfBarcodeResult
TPdfPortfolioFieldName: string, DisplayName: string, FieldType: TPdfPortfolioFieldType, Order: Integer, Visible: Boolean, Editable: Boolean
TPdfPortfolioFieldsДинамический массив TPdfPortfolioField
TPdfPortfolioValueFieldName: string, Value: string
TPdfPortfolioValuesДинамический массив TPdfPortfolioValue
TPdfPortfolioItemFileName: string, Description: string, Values: TPdfPortfolioValues, EmbeddedData: TBytes
TPdfPortfolioItemsДинамический массив 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
TPdfRichMediaAssetsДинамический массив TPdfRichMediaAsset
TPdfRichMediaExtractedName: string, MimeType: string, Size: Int64, Sha256: string
TPdfRichMediaExtractedArrayДинамический массив TPdfRichMediaExtracted

Backend interfaces

InterfaceMethodPurpose
IPdfColourTransformfunction Transform(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; out Target: TPdfColourBuffer): BooleanПреобразует проверенный исходный буфер в запрошенное цветовое пространство и профиль
IPdfFontSubsetBackendfunction Subset(const FontProgram: TBytes; const Glyphs: TPdfGlyphInfos; out SubsetProgram: TBytes): BooleanСтроит шрифтовую программу, содержащую замыкание запрошенных глифов
IPdfRegexEnginefunction FindMatches(const Text, Pattern, Replacement: WideString; MaxMatches: Integer): TPdfRegexMatchesВозвращает ограниченные совпадения регулярных выражений и текст замены
IPdfBarcodeProviderfunction Generate(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; out Rects: TPdfBarcodeRects): BooleanГенерирует прямоугольники модулей штрихкода для поддерживаемой символики
function Recognise(const Pixels: TBytes; Width, Height, Stride: Integer; MaxResults: Integer): TPdfBarcodeResultsРаспознаёт ограниченные результаты штрихкодов из пиксельного буфера, принадлежащего вызывающему коду

Default option factories

MemberPurpose
class function TPdfColourConversionOptions.Default: TPdfColourConversionOptionsВозвращает ограниченные значения по умолчанию для преобразования цвета с включённым сохранением исходных данных
class function TPdfFontSubsetOptions.Default: TPdfFontSubsetOptionsВозвращает ограниченные лимиты шрифта и глифов с минимальным порогом экономии

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): BooleanПропускает цветовой буфер через преобразование вызывающего кода и строит соответствующие данные OutputIntent, сохраняя исходные данные при сбое
function SubsetExistingPdfFont(const FontProgram: TBytes; const UsedGlyphs: TPdfGlyphInfos; Backend: IPdfFontSubsetBackend; const Options: TPdfFontSubsetOptions; out ResultProgram: TBytes; out GlyphClosure: TPdfGlyphInfos; out Report: TPdfFontSubsetReport): BooleanСтроит отсортированное уникальное замыкание глифов и принимает подмножество, только если оно корректно и меньше исходного
function ParsePdfSvgPath(const Data: string; MaxCommands: Integer = 100000): TPdfSvgPathCommandsРазбирает ограниченные команды move, line, cubic, quadratic и close с поддержкой относительных координат
function ExportPdfSvgPath(const Commands: TPdfSvgPathCommands): stringСериализует команды пути в абсолютный синтаксис SVG path
procedure TransformPdfSvgPath(var Commands: TPdfSvgPathCommands; A, B, C, D, E, F: Double)Применяет аффинную матрицу к каждой координате разобранного пути SVG
function BuildStyledRegexReplacementPlan(const Spans: TPdfStyledSpans; const Pattern, Replacement: WideString; Engine: IPdfRegexEngine; MaxCharacters: Integer = 16 * 1024 * 1024; MaxMatches: Integer = 100000): TPdfStyledReplacementsСопоставляет совпадения регулярных выражений со стилизованными диапазонами объектов страницы и выбирает собственную замену или замену через редактирование
function MergePdfXfaDatasets(const Packets: TXfaPacketList; const Bindings: TPdfXfaBindings; MaxPacketBytes: Integer = 32 * 1024 * 1024): TXfaPacketListСливает экранированные привязки листьев SOM, сохраняя каждый нетронутый пакет XFA
function RewritePdfXfaPacketStreams(Source, Destination: TStream; const Packets: TXfaPacketList; MaxTotalPacketBytes: Int64 = 256 * 1024 * 1024): BooleanДобавляет транзакционно заменённые потоки пакетов XFA в незашифрованный PDF
function GeneratePdfBarcode(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; Provider: IPdfBarcodeProvider = nil): TPdfBarcodeRectsГенерирует встроенные векторы Code 128-B и делегирует двумерные символики провайдеру
function RecognisePdfBarcodes(const Pixels: TBytes; Width, Height, Stride: Integer; Provider: IPdfBarcodeProvider; MaxResults: Integer = 256): TPdfBarcodeResultsДелегирует распознавание штрихкодов, контролируя геометрию изображения и границы результатов
procedure ValidatePdfPortfolio(const Portfolio: TPdfPortfolio; MaxItems: Integer = 100000; MaxEmbeddedBytes: Int64 = 1024 * 1024 * 1024)Проверяет определения полей, значения, количества элементов и бюджеты внедрённых данных
procedure SortPdfPortfolio(var Portfolio: TPdfPortfolio)Создаёт детерминированное представление Collection с использованием настроенного поля и направления сортировки
function ExtractPdfRichMediaAssets(const Assets: TPdfRichMediaAssets; const OutputDirectory: string; MaxAssetBytes: Int64 = 256 * 1024 * 1024; MaxTotalBytes: Int64 = 1024 * 1024 * 1024): TPdfRichMediaExtractedArrayЗаписывает внедрённые ресурсы без исполнения содержимого, разрешения внешних ссылок или выхода за пределы каталога

FPdfBarcodeZXing предоставляет опциональный провайдер генерации и распознавания штрихкодов

Safety model

Все API для больших объёмов данных применяют видимые вызывающему коду лимиты до выделения памяти или записи вывода

Платформенные кодеки, цветовые движки, построители подмножеств шрифтов, движки регулярных выражений, библиотеки матричных штрихкодов и распознаватели оформлены как явные интерфейсы, чтобы хосты могли выбрать проверенный бэкенд

FPdfStyledEdit исполняет эти планы против проверенного снимка источника с предпросмотром, переиспользованием шрифтов или явным fallback, ограниченной подгонкой и транзакционной проверкой сохранения и повторного открытия