PDFium Delphi Component Docs

FPdfProduction 유닛

그래픽, 문서 콘텐츠, 대화형 패키지, 임베디드 미디어를 위한 한도 있는 프로덕션 워크플로입니다

예외와 열거형

선언값 또는 용도
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

색상 변환 선언

선택적 LittleCMS 프로바이더는 버퍼 변환 인터페이스를 구현합니다. FPdfDocumentColour는 원래 문서 연산자와 이미지 성분에 이를 적용하고 완전성을 명시적으로 보고합니다

선언공개 필드 또는 멤버
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

글꼴과 SVG 선언

선언공개 필드 또는 멤버
TPdfGlyphInfoGlyphID: Cardinal, UnicodeValue: Cardinal, Width: Integer
TPdfGlyphInfosTPdfGlyphInfo의 동적 배열
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
TPdfSvgPathCommandsTPdfSvgPathCommand의 동적 배열

스타일 텍스트 교체와 XFA 선언

선언공개 필드 또는 멤버
TPdfStyledSpanPageIndex: Integer, ObjectIndex: Integer, CharacterStart: Integer, Text: WideString, StyleID: Integer
TPdfStyledSpansTPdfStyledSpan의 동적 배열
TPdfRegexMatchStartIndex: Integer, Length: Integer, Replacement: WideString
TPdfRegexMatchesTPdfRegexMatch의 동적 배열
TPdfStyledReplacementMode: TPdfReplacementMode, PageIndex: Integer, FirstObjectIndex: Integer, LastObjectIndex: Integer, FirstCharacter: Integer, CharacterCount: Integer, Replacement: WideString, StyleID: Integer, LastPageIndex: Integer
TPdfStyledReplacementsTPdfStyledReplacement의 동적 배열
TPdfXfaBindingSomPath: string, Value: string
TPdfXfaBindingsTPdfXfaBinding의 동적 배열

바코드와 포트폴리오 선언

선언공개 필드 또는 멤버
TPdfBarcodeRectLeft: Double, Top: Double, Right: Double, Bottom: Double
TPdfBarcodeRectsTPdfBarcodeRect의 동적 배열
TPdfBarcodeResultKind: TPdfBarcodeKind, Text: string, Bounds: TPdfBarcodeRect, Confidence: Double
TPdfBarcodeResultsTPdfBarcodeResult의 동적 배열
TPdfPortfolioFieldName: string, DisplayName: string, FieldType: TPdfPortfolioFieldType, Order: Integer, Visible: Boolean, Editable: Boolean
TPdfPortfolioFieldsTPdfPortfolioField의 동적 배열
TPdfPortfolioValueFieldName: string, Value: string
TPdfPortfolioValuesTPdfPortfolioValue의 동적 배열
TPdfPortfolioItemFileName: string, Description: string, Values: TPdfPortfolioValues, EmbeddedData: TBytes
TPdfPortfolioItemsTPdfPortfolioItem의 동적 배열
TPdfPortfolioFields: TPdfPortfolioFields, Items: TPdfPortfolioItems, SortField: string, SortAscending: Boolean

RichMedia 선언

선언공개 필드
TPdfRichMediaAssetName: string, MimeType: string, Data: TBytes, IsExternal: Boolean, ActivationCondition: string, DefaultView: string
TPdfRichMediaAssetsTPdfRichMediaAsset의 동적 배열
TPdfRichMediaExtractedName: string, MimeType: string, Size: Int64, Sha256: string
TPdfRichMediaExtractedArrayTPdfRichMediaExtracted의 동적 배열

백엔드 인터페이스

인터페이스메서드용도
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호출자 소유 픽셀 버퍼에서 한도 있는 바코드 결과를 인식합니다

기본 옵션을 만드는 팩토리

멤버용도
class function TPdfColourConversionOptions.Default: TPdfColourConversionOptions원본 보존이 활성화된 한도 있는 색상 변환 기본값을 반환합니다
class function TPdfFontSubsetOptions.Default: TPdfFontSubsetOptions최소 절감 임계값을 갖춘 한도 있는 폰트와 글리프 한도를 반환합니다

최상위 루틴

함수 시그니처설명
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상대 좌표 지원과 함께 한도 있는 이동, 선, 3차, 2차, 닫기 명령을 구문 분석합니다
function ExportPdfSvgPath(const Commands: TPdfSvgPathCommands): string경로 명령을 절대 SVG 경로 구문으로 직렬화합니다
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모든 변경되지 않은 XFA 패킷을 보존하면서 이스케이프된 SOM 리프 바인딩을 병합합니다
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 벡터를 생성하고 2차원 심볼리지를 공급자에 위임합니다
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은 선택적 바코드 생성/인식 프로바이더를 제공합니다

안전성 모델

모든 대용량 API는 출력을 할당하거나 기록하기 전에 호출자에게 보이는 한도를 강제합니다

플랫폼 코덱, 색상 엔진, 폰트 서브세터, 정규식 엔진, 행렬 바코드 라이브러리, 인식기는 명시적 인터페이스이므로 호스트는 감사된 백엔드를 선택할 수 있습니다

FPdfStyledEdit는 검증한 원본 스냅샷에 계획을 실행하며 미리 보기, 폰트 재사용이나 명시적 fallback, 제한된 맞춤, 트랜잭션 저장/재열기 검증을 제공합니다