Ограниченные производственные рабочие процессы для графики, содержимого документов, интерактивных пакетов и внедрённых медиа
| Declaration | Values or purpose |
EPdfProduction | Исключение, возникающее при недопустимых входных данных производства, исчерпанных бюджетах безопасности, неподдерживаемых операциях и отклонённом выводе бэкенда |
TPdfColourSpace | pcsDeviceGray, pcsDeviceRGB, pcsDeviceCMYK, pcsICCBased, pcsSeparation, pcsDeviceN |
TPdfSvgPathCommandKind | spcMoveTo, spcLineTo, spcCubicTo, spcQuadraticTo, spcClosePath |
TPdfReplacementMode | prmNativeTextObject, prmRedactAndRelayout |
TPdfBarcodeKind | pbkCode128, pbkQr, pbkDataMatrix, pbkPdf417 |
TPdfPortfolioFieldType | ppftText, ppftNumber, ppftDate, ppftFileName, ppftDescription, ppftSize, ppftModDate, ppftCreationDate |
| Declaration | Public fields or members |
TPdfColourBuffer | Space: TPdfColourSpace, Components: Integer, BitsPerComponent: Integer, Samples: TBytes, IccProfile: TBytes |
TPdfOutputIntent | Identifier: string, RegistryName: string, Info: string, Components: Integer, IccProfile: TBytes |
TPdfColourConversionOptions | MaxInputBytes: Integer, MaxOutputBytes: Integer, PreserveOnFailure: Boolean, class function Default: TPdfColourConversionOptions |
TPdfColourConversionReport | Converted: Boolean, PreservedOriginal: Boolean, InputBytes: Integer, OutputBytes: Integer, ErrorMessage: string |
| Declaration | Public fields or members |
TPdfGlyphInfo | GlyphID: Cardinal, UnicodeValue: Cardinal, Width: Integer |
TPdfGlyphInfos | Динамический массив TPdfGlyphInfo |
TPdfFontSubsetOptions | MaxFontBytes: Integer, MaxGlyphs: Integer, MinimumSavingPercent: Integer, class function Default: TPdfFontSubsetOptions |
TPdfFontSubsetReport | Applied: Boolean, PreservedOriginal: Boolean, GlyphCount: Integer, OriginalBytes: Integer, SubsetBytes: Integer, ErrorMessage: string |
TPdfSvgPathCommand | Kind: TPdfSvgPathCommandKind, Values: array[0..5] of Double |
TPdfSvgPathCommands | Динамический массив TPdfSvgPathCommand |
| Declaration | Public fields or members |
TPdfStyledSpan | PageIndex: Integer, ObjectIndex: Integer, CharacterStart: Integer, Text: WideString, StyleID: Integer |
TPdfStyledSpans | Динамический массив TPdfStyledSpan |
TPdfRegexMatch | StartIndex: Integer, Length: Integer, Replacement: WideString |
TPdfRegexMatches | Динамический массив TPdfRegexMatch |
TPdfStyledReplacement | Mode: TPdfReplacementMode, PageIndex: Integer, FirstObjectIndex: Integer, LastObjectIndex: Integer, FirstCharacter: Integer, CharacterCount: Integer, Replacement: WideString, StyleID: Integer, LastPageIndex: Integer |
TPdfStyledReplacements | Динамический массив TPdfStyledReplacement |
TPdfXfaBinding | SomPath: string, Value: string |
TPdfXfaBindings | Динамический массив TPdfXfaBinding |
| Declaration | Public fields or members |
TPdfBarcodeRect | Left: Double, Top: Double, Right: Double, Bottom: Double |
TPdfBarcodeRects | Динамический массив TPdfBarcodeRect |
TPdfBarcodeResult | Kind: TPdfBarcodeKind, Text: string, Bounds: TPdfBarcodeRect, Confidence: Double |
TPdfBarcodeResults | Динамический массив TPdfBarcodeResult |
TPdfPortfolioField | Name: string, DisplayName: string, FieldType: TPdfPortfolioFieldType, Order: Integer, Visible: Boolean, Editable: Boolean |
TPdfPortfolioFields | Динамический массив TPdfPortfolioField |
TPdfPortfolioValue | FieldName: string, Value: string |
TPdfPortfolioValues | Динамический массив TPdfPortfolioValue |
TPdfPortfolioItem | FileName: string, Description: string, Values: TPdfPortfolioValues, EmbeddedData: TBytes |
TPdfPortfolioItems | Динамический массив TPdfPortfolioItem |
TPdfPortfolio | Fields: TPdfPortfolioFields, Items: TPdfPortfolioItems, SortField: string, SortAscending: Boolean |
| Interface | Method | Purpose |
IPdfColourTransform | function Transform(const Source: TPdfColourBuffer; TargetSpace: TPdfColourSpace; const TargetProfile: TBytes; out Target: TPdfColourBuffer): Boolean | Преобразует проверенный исходный буфер в запрошенное цветовое пространство и профиль |
IPdfFontSubsetBackend | function Subset(const FontProgram: TBytes; const Glyphs: TPdfGlyphInfos; out SubsetProgram: TBytes): Boolean | Строит шрифтовую программу, содержащую замыкание запрошенных глифов |
IPdfRegexEngine | function FindMatches(const Text, Pattern, Replacement: WideString; MaxMatches: Integer): TPdfRegexMatches | Возвращает ограниченные совпадения регулярных выражений и текст замены |
IPdfBarcodeProvider | function Generate(Kind: TPdfBarcodeKind; const Text: string; ModuleSize: Double; out Rects: TPdfBarcodeRects): Boolean | Генерирует прямоугольники модулей штрихкода для поддерживаемой символики |
function Recognise(const Pixels: TBytes; Width, Height, Stride: Integer; MaxResults: Integer): TPdfBarcodeResults | Распознаёт ограниченные результаты штрихкодов из пиксельного буфера, принадлежащего вызывающему коду |
| Signature | Description |
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 | Записывает внедрённые ресурсы без исполнения содержимого, разрешения внешних ссылок или выхода за пределы каталога |
Все API для больших объёмов данных применяют видимые вызывающему коду лимиты до выделения памяти или записи вывода
Платформенные кодеки, цветовые движки, построители подмножеств шрифтов, движки регулярных выражений, библиотеки матричных штрихкодов и распознаватели оформлены как явные интерфейсы, чтобы хосты могли выбрать проверенный бэкенд