Windows 使用 VCL 或 Lazarus Windows widget set。原生 Free Pascal/LCL 构建在 Linux 使用 Qt6、macOS 使用 Cocoa,并配合匹配的 PDFium 共享库;工具链和运行时要求见原生 LCL 配置。VCL Delphi/C++Builder 包装仍面向 Windows;原生 Delphi macOS 的加密与时间戳 helper 验收独立于可视化包装
| 方法 | 说明 |
Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WString | 从当前页面提取文本 |
TextInRectangle(Left, Top, Right, Bottom: Double): WString | 从矩形区域提取文本(页面坐标) |
TextInRectangle(Rectangle: TPdfRectangle): WString | 从矩形提取文本 |
ReadTextPageSnapshot(PageNumber: Integer; const Options: TPdfTextSnapshotOptions; out Status: TPdfTextSnapshotStatus): TPdfTextPageSnapshot | 在单次显式有界的原生遍历中捕获文本、Unicode、几何、样式和规范化文本对象元数据 |
TextPageSnapshot[PageNumber: Integer]: TPdfTextPageSnapshot | 从修订感知的文本快照 LRU 返回调用方拥有的深拷贝,不改变活动页面 |
TextSnapshotCacheCapacity, TextSnapshotCacheCount, TextSnapshotCacheHitCount, TextSnapshotCacheMissCount | 配置有界的保留策略,并报告缓存占用、命中和未命中情况 |
TPdfTextPageSnapshot / TPdfTextSnapshotStatus | 调用方拥有的文本快照记录与有界读取状态模型,以及修订感知的 LRU 缓存行为 |
ReadPageObjectsSnapshot(PageNumber: Integer; const Options: TPdfPageObjectSnapshotOptions; out Status: TPdfPageObjectSnapshotStatus): TPdfPageObjectsSnapshot | 在显式预算下捕获不可变的页面对象几何、样式、标记、裁剪、图像事实和文本事实 |
PageObjectsSnapshot[PageNumber: Integer]: TPdfPageObjectsSnapshot | 从修订感知的页面对象快照 LRU 返回调用方拥有的深拷贝 |
PageObjectSnapshotCacheCapacity, PageObjectSnapshotCacheCount, PageObjectSnapshotCacheHitCount, PageObjectSnapshotCacheMissCount | 配置有界的页面对象保留策略,并报告缓存占用、命中和未命中情况 |
TPdfPageObjectsSnapshot / TPdfPageObjectSnapshotStatus | 调用方拥有的页面对象快照记录与有界读取状态模型,以及修订感知的 LRU 缓存行为 |
GetStructuredText(const Options: TPdfStructuredTextOptions): TPdfStructuredTextPage | 构建有界的页面、块、行和样式跨度模型,包含原生字符几何和可选的语义增强 |
ExtractTables(const Options: TPdfTableExtractionOptions): TPdfTables | 检测当前页面上的划线和空白对齐表格,支持合并单元格、置信度以及 CSV 和 JSON 输出 |
ExtractDocumentTables(const Options: TPdfTableExtractionOptions): TPdfTables | 跨每一页提取有界表格,并标记匹配的跨页延续链 |
BuildReflowDocument(const Options: TPdfReflowOptions; const CancellationToken: IPdfCancellationToken = nil): TPdfReflowDocument | 构建有界的语义页面树,并输出响应式、已转义的 HTML,包含标题、段落、列表、插图和跨度感知表格 |
ApplyOcrSearchLayer(Provider, Options, Report, CancellationToken): Boolean | 通过 PDFium 渲染所选页面,并添加经过置信度过滤的不可见 OCR 文本,不重新编码页面图像 |
AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0) | 在指定位置添加文本,可指定字体、颜色、透明度和旋转角度 |
SetText(ObjectIndex: Integer; const Text: WString) | 为既有文本对象设置文本(未公开的 PDFium API,可能导致格式问题) |
SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray) | 为既有文本对象设置逐字符位置。位置从第二个字符开始,且相对于文本对象原点 |
FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): Integer | 启动文本搜索,返回字符索引,未找到时返回 -1 |
FindNext: Integer | 向前继续文本搜索,返回字符索引或 -1 |
FindPrevious: Integer | 向后继续文本搜索,返回字符索引或 -1 |
CreateDocumentSearch(Text, Options, StartPage, Direction, CancellationToken): TPdfDocumentSearch | 创建惰性的正向或反向全文档搜索,支持单页原生句柄保留、取消和逐匹配几何信息 |
CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): Integer | 获取页面位置处的字符索引 |
RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): Integer | 获取字符范围的文本矩形数量 |
ReadingUnits: TPdfReadingUnits | 返回句子级阅读单元,用于辅助听读和语义导航 |
DocumentReadingUnits: TPdfReadingUnits | 为整个文档可读内容流构建句子级 TPdfReadingUnit 记录 |
PageWordBoxes: TPdfWordBoxes | 返回带 FTextPage 范围和页面空间矩形的单词框,用于逐词高亮 |
SetReadingWord(const Word: TPdfWordBox) | 在 TPdfView 上把一个 TPdfWordBox 高亮为当前朗读单词 |
ClearReadingWord | 清除 TPdfView 上当前的单词级阅读光标叠加层 |
TrackReadingWordAt(PageNumber, CharIndex: Integer): Integer | 把页面字符偏移映射到包含它的 TPdfWordBox,高亮该框并返回单词索引 |
SelectWordBox(const Word: TPdfWordBox): Boolean | 选择一个 TPdfWordBox 所表示的查看器文本范围 |
SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): Boolean | 把同一页面上的 TPdfWordBox 记录跨度选择为一个查看器文本选区 |
BuildReadingUnits(Fragments) | 把 TPdfContentFragments 转换为句子级 TPdfReadingUnit 记录,无需加载 pdfium.dll |
NextReadingUnitOfKind(Units, CurrentIndex, Kind, GoForward) | 查找 Kind 与请求的 TPdfContentFragmentKind 匹配的下一个或上一个 TPdfReadingUnit |
BuildWordBoxes(PageText) | 把页面文本拆分为带单词文本和 FTextPage 字符范围的 TPdfWordBox 记录 |
WordBoxIndexAtCharIndex(Words, CharIndex) | 把字符索引映射回包含它的从 0 开始计数的 TPdfWordBox 索引 |
SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1) | 向 TPdfSpokenText 追加一段已映射的朗读文本 |
BuildSpokenTextFromWords(Words, FirstWord, LastWord) | 从连续的 TPdfWordBox 范围构建 TPdfSpokenText |
SpokenToPageChar(Spoken, SpokenOffset, Page, CharIndex) | 把语音引擎的字符偏移转换回 PDF 页面字符 |
EstimateSpokenWordIndex(Words, ElapsedMs, WordsPerMinute) | 当语音引擎未报告单词位置时估算朗读单词索引 |
v3.125.3 的普通 Windows 库把最终缓冲写入失败报告为保存失败,与 v3.125.2 的 V8 修复一致。Windows V8 库在数据包数组和受支持单流 XDP 保存中保留编辑过的文本,包括原始空白和增补 Unicode。v3.126.0 起,受支持单流 XDP 还会保留被替换活动数据集和表单数据包之外的注释与处理指令,包括 UTF-8 和带 BOM 的 UTF-16 输入;无效输入编码、不完整标签、无效实体引用、畸形处理指令、被替换数据包内的注释或处理指令、DTD 声明和 XMLDSig 一律拒绝。这些是有界的保存防护,不是完整的 XML 校验器。其他受支持的数据包和根命名空间按语义保留;任意外部形态的一致性与逐字节相同的 XML 序列化不在验证范围内
v3.126.0 起,Windows 查看器的复制、剪切和表单粘贴使用有界的 100ms 剪贴板打开重试预算,且不泵 UI 消息;剪贴板访问仍不可用时照常返回失败,剪切失败会保留字段原文本和选区
v3.126.2 的 Windows V8 保存防护在改动单流 XDP 前校验属性语法、重复属性、限定名、命名空间作用域和 XML 声明;XML schema、DTD、XMLDSig、XML 1.1 和增补平面名称仍不在支持范围内
v3.126.1 的 Windows V8 库还会在动态布局移动字段时刷新已加载输入小部件的几何信息,让文本和原生输入命中区域对齐到新位置。必需的仓库 fixture 通过原生事件验证实例的添加、移除和高度变化;任意外部表单和前台查看器输入仍是另外的验收工作
| API | 说明 |
function AnalyzeSignatureRevisions: TPadesRevisionAnalysisReport | 为每个内嵌签名重建原始修订链并分类后续对象更改 |
function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReport | 从保留的单一原始字节捕获构建可导出的多签名证据 |
property About: string | 报告 TPdf 的 PDFium Delphi Component 组件版本信息 |
Active | 打开或关闭所选 PDF 文档 |
function AddAnnotationFileAttachment(AnnotIndex: Integer; const Name: WString; const FileData: TBytes): Boolean | 把内嵌文件附加到既有批注,并在一次调用中写入其内容 |
procedure AddImage(const FileName: string; X, Y, Width, Height: Double) | 把文件中的图像插入当前 PDF 页面。内部使用 TPicture.LoadFromFile,因此接受向 VCL 或 LCL 图形单元注册的任何图像格式(BMP、通过 Vcl.Imaging.PngImage / LCL TPortableNetworkGraphic 的 PNG、JPG 等)。坐标位于 PDF 用户空间(原点在页面左下角);Width 和 Height 是以用户单位表示的放置尺寸,而不是源图像的像素尺寸 |
function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean | 使用指定坐标把 JPEG 图像添加到当前 PDF 页面 |
procedure AddPage(PageNumber: Integer; Width, Height: Double) | 以给定的点尺寸创建新的空白页面 |
AddPath | 把累积的 MoveTo/LineTo/BezierTo 路径作为新页面对象提交,并应用请求的绘制样式 |
procedure AddPathToAnnotation(Index: Integer) | 把待处理的 CreatePath 路径交给墨迹或图章批注,而不是交给页面内容 |
procedure AddPicture(Picture: TPicture; X, Y: Double) | 使用指定坐标把图像添加到当前 PDF 页面 |
function AddPageObjectMark(Index: Integer; const Name: AnsiString; const Params: TPdfContentMarkParams): Integer | 向页面对象添加标记内容条目及其初始类型化属性列表 |
PageObjectInfo / AnnotationObjectInfo / PageObjectMarks / PathInfo / TransformPageObject / RenderPageWithMatrix | 单个概览页上的高级页面内容与批注对象检查、标记、路径、变换和文本度量 |
function SharePageObjectMark(TargetIndex, SourceIndex, SourceMarkIndex: Integer): Boolean | 在另一个页面对象上复用原生标记内容属性标记 |
function AddShapedText(const Text, Font: WString; FontSize: Single; X, Y: Double; out Shaped: TPdfShapedText; Direction: TPdfTextDirection = ptdAuto; Color: TColor = clBlack; Alpha: Byte = $FF): Boolean | 把双向和复杂文字整形为定位的 CID Type 2 字形,带 ToUnicode 和逻辑 ActualText 语义 |
procedure AddStandardFontText(const Text: WString; StandardFont: TPdfStandardFont; FontSize: Single; X, Y: Double; Color: TColor; Alpha: Byte; Angle: Double = 0.0) | 使用 14 种标准 PDF 字体之一绘制文本,不嵌入字体程序 |
function AddCidType2Text(const FontData: TBytes; const Glyphs: TPdfCidGlyphs; FontSize: Single; X, Y: Double; const Options: TPdfCidFontOptions; out Report: TPdfCidFontReport; Color: TColor = clBlack; Alpha: Byte = $FF): Boolean | 嵌入定位的 CID Type 2 字形,支持显式 Unicode 映射、可选 TrueType 子集化、受控回退和提取验证 |
procedure AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0) | 在指定位置把文本添加到当前 PDF 页面 |
Annotation | 索引属性 —— 返回当前页面上给定索引处的批注记录(子类型、矩形、颜色、内容等) |
AnnotationCount | 附加到当前活动页面的批注对象数量 |
function AnnotationObjectCount(Index: Integer): Integer | 统计墨迹或图章批注自身绘制所用的页面对象数量 |
function AnnotationObjectInfo(Index, ObjectIndex: Integer): TPdfPageObjectInfo | 读取批注所拥有的一个页面对象的类型、边界、矩阵、颜色和线条样式 |
property Attachment[Index: Integer]: TBytes | 读取或替换指定从 0 开始索引处文档级内嵌文件的原始字节载荷。每个槽位对应 PDF 1.7 规范第 7.11 节定义的 PDF EmbeddedFiles 名称树中的一个条目 |
AttachmentCount | 文档中声明的内嵌文件附件数量 |
property AttachmentDescription[Index: Integer]: WString | 读取或写入文档级内嵌文件的 /Desc 描述 |
function AttachmentHasKey(Index: Integer; const Key: WString): Boolean | 测试内嵌附件是否携带给定的文件规格键 |
AttachmentName | 返回文档 EmbeddedFiles 名称树中给定从 0 开始索引处内嵌文件注册的 Unicode 文件名 |
property AttachmentRelationship[Index: Integer]: WString | 返回文档级内嵌文件的 /AFRelationship 名称(ISO 32000-2 Table 43),条目缺失时返回空字符串 |
AttachmentType | 返回指定从 0 开始索引处内嵌文件注册的 MIME 子类型字符串。该值取自 PDF 第 7.11.3 节定义的文件规格字典的 /Subtype 条目 |
Author | 返回 PDF 文档信息字典中 /Author 条目的值 |
BezierTo | 从当前点出发,经过控制点 (X1,Y1) 和 (X2,Y2) 到 (X3,Y3) 追加一条三次贝塞尔曲线 |
Bitmap | 返回新解码的 VCL TBitmap,包含当前页面上指定图像对象的光栅数据。该位图在每次调用时重新分配,由调用方拥有并负责调用 Free |
BitmapCount | 活动页面上可作为 VCL TBitmap 访问的图像页面对象数量 |
Bookmark | 按标题字符串查找书签,并从 PDF 第 12.3.3 节定义的文档大纲树返回匹配的 TBookmark 记录 |
BookmarkChildren | 索引属性 —— 返回给定父书签节点的直接子书签 |
BookmarkFrom | 通过读取该大纲节点的标题、目标页面和动作元数据,把原始 FPDF_BOOKMARK 句柄转换为完整填充的 TBookmark 记录 |
Bookmarks | 索引属性 —— 返回文档的顶层大纲(书签)条目完整列表 |
Character | 对给定索引处字符的 UTF-16 字符串形式的只读索引访问(通常是一个代码单元,代理对时为两个) |
CharacterAngle | 对字符旋转角度(弧度)的只读索引访问,已考虑页面 CTM |
CharacterCount | 当前活动页面上可提取的字符数量 |
CharacterFontSize | 对渲染该字符所生效字号(PDF 点,CTM 缩放后)的只读索引访问 |
CharacterFontWeight | 对所用字体 OS/2 usWeightClass 值的只读索引访问(100 = Thin,400 = Regular,700 = Bold,900 = Black) |
CharacterGenerated | 当指定索引处的字符是 PDFium 在文本提取期间合成、而非由页面内容流显式绘制时返回 True。合成字符用于连字展开、软连字符和单词/行边界启发式,使搜索和全选结果读起来自然 |
function CharacterIndexToTextIndex(Index: Integer): Integer | 把字符索引映射到提取文本中的偏移,生成字符返回 -1 |
function CharacterInfo(Index: Integer): TPdfCharacterInfo | 读取一个字符的颜色、字体名称和标志、宽松边界、矩阵以及所属文本对象 |
function CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): Integer | 获取页面上某位置处或附近字符的索引。该点处及附近没有字符时返回 -1,发生错误时返回 -3 |
CharacterIsHyphen | 当指定索引处的字符被识别为用于行尾断词的软连字符时返回 True。在跨行重建单词且不保留可见连字符标记时很有用 |
CharacterMapError | 当指定索引处的字符无法映射到有效 Unicode 码点时返回 True。该标志由 PDFium 文本提取器按字符报告,便于调用方识别由于来源字体缺少可用 ToUnicode CMap 或编码向量而可能不正确的码点 |
CharacterOrigin | 对字符在 PDF 用户空间点坐标中起点(基线左侧锚点)的只读索引访问 |
CharacterRectangle | 对字符在 PDF 用户空间坐标(原点在左下角,单位为点)中包围矩形的只读索引访问 |
Charcode | 对给定索引处字符的 Unicode 码点(UCS-4)的只读索引访问 |
function ChooseRenderFlags(Scale: Double; DestWidth, DestHeight: Integer): Integer | 根据最终缩放比例和目标尺寸选取原生 FPDF_RENDER_* 标志,用于自适应图像降采样 |
procedure ClearFormFieldFocus | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
procedure ClearPageSceneCache | 清除已缓存的解析页面场景,不改变活动页面 |
procedure ClearThumbnailCache | 释放保留的内嵌与渲染缩略图位图,不改变缓存限制或遥测数据 |
ClosePath | 通过绘制直线回到最近的 MoveTo 位置来闭合当前子路径 |
Compressed | 控制调用 SaveAs / Save 时输出 PDF 中的流是否进行 FlateDecode 压缩。保存后压缩引擎会扫描序列化的 PDF,把未压缩的流替换为对应的 zlib deflate 流,并重建 xref 表。已压缩的流保持不变 |
constructor Create(AOwner: TComponent); override | 创建 TPdf 组件并初始化文档、渲染、表单和缓存状态 |
procedure CreateAnnotation(const Annotation: TPdfAnnotation) | 创建新批注 |
CreateAttachment | 在文档级添加新的内嵌文件(附件) |
procedure CreateDocument | 关闭当前文档(如有)并开始全新的空 PDF |
procedure CreatePath(X, Y: Single; FillMode: TPdfFillMode = fmNone; FillColor: TColor = clBlack; FillAlpha: Byte = $FF; Stroke: Boolean = True; StrokeColor: TColor = clBlack; StrokeAlpha: Byte = $FF; StrokeWidth: Single = 1.0; LineCap: TPdfLineCap = lcDefault; LineJoin: TPdfLineJoin = ljDefault; BlendMode: TPdfBlendMode = bmDefault) | 在初始位置创建新的路径对象 |
CreateXObjectFromPage | 把另一个 TPdf 的页面包装为可复用的 Form XObject 句柄,可任意次数盖印到本文档中 |
CreationDate | 文档 Info 字典中的原始创建时间戳 |
Creator | Info 字典中存储的原始创作应用程序名称 |
property CrossReferenceTableValid: Boolean | 报告加载的文档是否拥有完整的交叉引用表 |
DeleteAnnotation | 移除当前页面上给定索引处的批注 |
function DeleteAttachment(Index: Integer): Boolean | 移除给定索引处的内嵌文件附件 |
procedure DeletePage(PageNumber: Integer) | 从文档中移除 PageIndex 处的页面 |
Destination | 返回指定从 0 开始索引处命名目标的 TDestination 记录。命名目标是文档 catalog 的 Dests / Names 树下定义的间接目标,如 PDF 第 12.3.2 节所述 |
DestinationByName | 按字符串名称查找 /Names 目标,并返回其目标页面 / 适配类型 / 坐标 |
DestinationCount | 文档中声明的命名目标数量 |
function DetectPageSkew(out Report: TPdfSkewReport): Boolean | 以约 0.1 度的精度测量当前页面的倾斜度,并附带置信度值 |
destructor Destroy; override | 在 TPdf 销毁前释放文档句柄、表单状态、缓存字体、流和计时器 |
ExportXFDF | 把表单字段和批注序列化为 UTF-8 XFDF,保留嵌套字段路径以及缺失值与显式空值的区别 |
function ExportXFDFToStream(Stream: TStream): Integer | 把文档的所有表单值和批注以 XFDF 写入流 |
function ExtractAttachmentsToStreams(const Destinations: array of TStream; const Options: TPdfAttachmentBatchOptions; out Report: TPdfAttachmentBatchReport; const CancellationToken: IPdfCancellationToken = nil): Boolean | 在计数和字节预算内把解码后的附件写入调用方拥有的流,支持取消和逐项结果 |
TPdfAttachmentBatchOptions / TPdfAttachmentBatchReport | 面向调用方元数据枚举和载荷提取的有界单遍附件批处理模型 |
ExtractThumbnail(PageNumber: Integer): TBitmap | 解码内嵌的页面缩略图,不切换或重新加载活动页面 |
function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean | 把点的屏幕坐标转换为页面坐标 |
property Document | 用于直接底层访问的原生 PDFium FPDF_DOCUMENT 句柄 |
function DocumentReadableContent: TPdfContentFragments | 返回面向屏幕阅读器、文本转语音和无障碍工作流的语义可读内容片段 |
function DocumentReadingUnits: TPdfReadingUnits | 为整个文档可读内容流构建句子级 TPdfReadingUnit 记录 |
FileIdentifier | 只读属性 —— 返回所请求标识符槽位的文档文件标识符数组 |
property FileName | 要打开的 PDF 路径;在 Active 状态下赋值会从新路径重新加载 |
Find | 从 PageNum(为 -1 时从当前页面)开始搜索 Pattern,返回第一个匹配的全局字符索引 |
function FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): Integer | 开始搜索指定文本。StartIndex 从 0 开始计数,-1 表示页面末尾。DirectionUp 参数决定此次搜索操作的方向 |
function FindNext | 推进进行中的查找会话游标,返回下一个匹配的字符索引 |
function FindPrevious | 把查找游标回退一个匹配 |
function CreateDocumentSearch | 创建惰性的文档级搜索,每次调用返回一个匹配及其页面空间矩形 |
function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): Boolean | 扁平化文档中每一页的便捷包装。每页都以 FLATTEN_SUCCESS 或 FLATTEN_NOTHINGTODO 完成时返回 True。推荐工作流:GenerateFormAppearances → FlattenAllPages → SaveAs |
function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): Integer | 把当前页面上的批注和表单控件扁平化为永久(不可编辑)页面内容。nFlag 选择扁平化配置:FLAT_NORMALDISPLAY (0) 用于屏幕显示,FLAT_PRINT (1) 用于打印输出。返回 FLATTEN_SUCCESS、FLATTEN_NOTHINGTODO 或 FLATTEN_FAIL 之一。扁平化已填写的表单值时应先调用 GenerateFormAppearances |
FlattenPageRotation | 把每页当前的 /Rotate 烘焙到内容流、页面框和批注矩形中,然后把 /Rotate 重置为 0,使视觉布局得以保留而不依赖旋转显示提示 |
function FocusedFormFieldDetails: TPdfFormFieldInfo | 返回当前逻辑表单字段的 TPdfFormFieldInfo |
function FocusedFormFieldIndex: Integer | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FocusedFormFieldName: WString | 返回当前逻辑表单字段的显示名称,优先使用 AlternateName,退回到 Name |
function FocusedFormFieldText: WString | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FocusedFormFieldTextDirection: TPdfFormTextDirection | 通过 PDFium 的 FORM_GetTextDirection 导出读取焦点控件的内存中文本方向 |
function FocusedFormOptionSelected(Index: Integer): Boolean | 报告焦点列表框或组合框的某一选项是否被选中 |
function FocusedFormFieldValue: WString | 通过 FocusedFormFieldIndex 返回当前逻辑表单字段值,不依赖交互式插入符 |
function FocusFormField(Index: Integer): Boolean | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FocusNextFormField: Integer | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FocusPreviousFormField: Integer | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
FontAscent | 返回页面对象所用字体的上伸高度(基线到最高上伸部分的距离),以 PDF 点表示并按调用方提供的字号缩放 |
FontBaseName | 返回页面对象所用字体的 PostScript 基本名称(PDF 字体字典中的 /BaseFont 条目),包括 -Bold 或 ,Italic 等样式后缀 |
FontData | 对内嵌字体程序原始字节的只读索引访问(仅在字体已嵌入时填充) |
FontDescent | 返回页面对象所用字体的下伸高度(基线到最低下伸部分的距离),以 PDF 点表示并按调用方提供的字号缩放 |
FontFamilyName | 返回当前页面上页面对象所用字体的排印字族名称(例如 Helvetica、Times New Roman、Noto Sans CJK SC) |
property FontFlags[Index: Integer]: Integer | 返回原生 PDF 字体描述符标志,对象没有字体时返回 -1 |
FontHandle | 返回页面对象所用字体的原生 FPDF_FONT 句柄。该句柄让高级调用方直接访问组件未封装的 PDFium 字体 API |
FontIsEmbedded | 指示页面对象所用字体是嵌入 PDF 内(True),还是仅在查看时从操作系统解析引用(False) |
FontItalicAngle | 对字体倾斜角(度)的只读索引访问(典型斜体为负值;正体为 0) |
FontSize | 返回当前页面上单个字符的渲染字号(PDF 点)。FontSize 是为向后兼容保留的 CharacterFontSize 别名 |
FontWeight | 返回当前页面上页面对象所用字体的 CSS 风格字重(粗细)。典型值为常规 400、粗体 700 |
FormField | 索引属性 —— 返回当前页面上的一个表单字段 |
FormFieldAt | 读取或写入给定页面坐标处表单字段的值 |
FormFieldCount | 当前活动页面上的表单字段控件数量 |
FormFieldInfo | 描述活动页面上给定索引处表单字段的完整记录 |
FormFieldInfoAt | 位于给定页面坐标处控件的表单字段记录 |
FormHostCallbacksComplete, FormSelectionRects, OnForm* | 生命周期安全的原生表单页面,以及由宿主控制的导航、URI、光标、值变化和选择回调 |
function FormFieldTypeAtPoint(X, Y: Double; out FieldType: TPdfFormFieldType): Boolean | 使用原生点位命中测试返回字段类型,不创建批注句柄 |
function FormFieldTabOrder: TPdfIntegerArray | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
property FormFill | 让应用程序提供表单相关回调(Beep、Invalidate、OutputDocFile 等)的接口 |
FormHandle | 附加到文档的原生 PDFium 表单填写环境句柄 |
function DetachFormObjectChild(FormIndex, ChildIndex: Integer): FPDF_PAGEOBJECT | 移除 Form XObject 子对象并移交其原生句柄的所有权 |
function FormObjectChildren(Index: Integer): TPdfPageObjectInfos | 列出嵌套在 Form XObject 内的页面对象 |
function GetAnnotationFontColor(AnnotIndex: Integer; out Color: TColor): Boolean | 读取表单字段控件批注的文本颜色 |
function GetAttachmentStringValue(Index: Integer; const Key: WString): WString | 从附件的文件规格字典读取一个字符串条目 |
function GetImageObjectRenderedBitmap(Index: Integer): TBitmap | 渲染图像对象,应用其蒙版、颜色转换和矩阵 |
function GetObjectRenderedStrokePattern(Index: Integer): TBitmap | 把路径对象描边所用的平铺图案光栅化为归调用方所有的位图,没有图案时返回 nil |
property FormType | 告知文档包含 AcroForm 字段、XFA 还是完全没有表单 |
procedure GenerateFormAppearances | 通过 FPDF_FFLDraw 渲染每一页,为每页上的每个表单控件重新生成 /AP(外观流)。这是 FormField[i] := value 赋值的推荐配套调用 —— 没有它,表单值可能只在字段获得焦点时可见,且后续任何扁平化操作都会静默丢失这些值。请在所有 FormField[] 赋值之后、SaveAs / FlattenPage / FlattenAllPages 之前调用 |
function GetPageBox | 读取当前页面上指定名称页面框的矩形 |
function GetXfaConfig: TBytes | 从 PDF 文档检索 XFA config 数据包的原始 XML 字节 |
function GetXfaDatasets: TBytes | 从 PDF 文档检索原始的 XFA datasets XML 字节 |
function GetXfaFormPackets: TXfaPacketList | 把所有内嵌 XFA 数据包快照到 TXfaPacketList 集合 |
function GetXfaPacketByName(const Name: string): TBytes | 返回按名称标识的 XFA 数据包的原始内容字节 |
function GetXfaPacketContent(Index: Integer): TBytes | 返回给定从 0 开始索引处的 XFA 数据包原始内容字节 |
function GetXfaPacketCount: Integer | 返回文档中内嵌的 XFA 数据包数量 |
function GetXfaPacketName(Index: Integer): string | 返回给定从 0 开始索引处的 XFA 数据包名称 |
function GetXfaTemplate: TBytes | 从 PDF 文档检索 XFA template 数据包的原始 XML 字节 |
GrantedPermissions | 以类型化 TPdfPermissions 集合返回所有者密码权限 |
HasBookmarkChildren | 给定大纲节点至少有一个子书签时返回 True |
HasFormFieldAt | 命中测试:当表单字段控件覆盖给定页面坐标时返回 True |
HasPermission(Permission: TPdfPermission): Boolean | 测试单个所有者密码权限,无需手动位运算 |
Image | 索引属性 —— 返回当前页面上的一个图像页面对象(句柄 + 包围盒 + 位深 + 色彩空间) |
ImageCount | 当前活动页面上的光栅图像 XObject 数量 |
function ImportFDF(const FileName: string): Integer | 应用 FDF 文档中的表单字段值;也提供 TStream 重载 |
ImportXFDF | 应用命名空间感知的 XFDF 字段和批注,包括显式空值、混合文本与 CDATA 以及深层嵌套的字段名 |
property IncrementalSaveActive: Boolean | 报告当前是否打开了增量保存会话 |
procedure InsertClipPath(Left, Bottom, Right, Top: Single) | 把当前页面上绘制的所有内容裁剪到 PDF 页面单位的矩形内 |
procedure InsertObjectAtIndex(StackIndex: Integer; PageObj: Pointer) | 在绘制顺序的指定深度插入页面对象,而不是置于最上层 |
class function InspectAvailability(AStream: TStream): TPdfAvailability | 在不加载 PDF 流的情况下报告其线性化、解析可用性和首页信息 |
ImportNPagesToOne | 构建全新的 TPdf,其页面是源文档页面的 NumX×NumY 组合,适用于 N-up 打印布局 |
ImportPages | 把另一个已打开 TPdf 中的一页或多页复制到本文档 |
ImportPagesByIndex | 按从 0 开始的索引从另一个 TPdf 导入特定页面子集,并可控制本文档中的插入位置 |
function ImportPreferences(Pdf: TPdf): Boolean | 控制 ImportPages 复制内容方式(资源、命名目标、注释等)的位集合 |
function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT | 把 TPdfXObject 包装页面的一个副本插入本文档的当前页面,返回 FPDF_PAGEOBJECT,供调用方定位 / 缩放 / 旋转 |
IsTagged | 文档是否声明了用于无障碍的结构树 |
JavaScriptAction | 索引属性 —— 返回一个文档级 JavaScript 动作(name + Type + Source 字符串) |
JavaScriptActionCount | PDF 中存储的文档级 JavaScript 动作数量 |
JavaScriptActions | 以单一动态数组返回的所有文档级 JavaScript 动作 |
Keywords | 文档 Info 字典中作者提供的关键词列表 |
Language | 文档 catalog 中声明的自然语言标识符 |
LineTo | 从当前点到 (X, Y) 追加一条直线 |
LinkAnnotation | 索引属性 —— 返回给定索引处的显式 /Annot Subtype Link,包括目标动作或目标位置 |
LinkAnnotationCount | 特定页面上 /Link 批注条目的数量 |
function LinkAtPoint(X, Y: Double): Boolean | 通过 FPDFLink_GetLinkAtPoint 对页面空间坐标进行原生链接批注命中测试 |
procedure LoadCustomDocument(AStream: TStream; AOwnsStream: Boolean = False) | 使用 PDFium 的按需块读取器从任意可定位 TStream 加载 PDF,因此多 GB 文档和远程 / 数据库支持的数据源无需预先复制到内存 |
TPdfRandomAccessStore | 在内存上限下存储可定位内容,溢出到私有临时存储,并支持与游标无关的 ReadAt 和 WriteAt 调用 |
function TextIndexToCharacterIndex(Index: Integer): Integer | 把提取文本中的偏移映射回产生它的字符 |
function TextObjectGlyphOutline(Index, GlyphIndex: Integer; FontSize: Single): TPdfPathSegments | 读取一个字形的矢量轮廓,规范化为一个 em 等于 1.0 |
function TextObjectGlyphWidth(Index, GlyphIndex: Integer; FontSize: Single): Single | 按请求的字号测量原生字形步进 |
function TextObjectFontSize(Index: Integer): Single | 读取一个文本页面对象的原生字号 |
procedure SetTextObjectFontSize(Index: Integer; FontSize: Single) | 在不进行矩阵缩放的情况下编辑文本对象字号 |
procedure LoadDocument | 从文件、字节数组、经过验证的内存缓冲区或非 nil 内存流打开 PDF |
LastLoadReport | 返回最新的加载状态、原生恢复路径、xref 有效性、有界审计计数器和类型化问题 |
SaveAsRepaired | 写入完整副本,并通过隔离的严格加载验证后才返回成功 |
property MetaText | 按标签名称返回一个文档 Info 字典值 |
Metadata | 以单一记录快照返回标准的标题、作者、主题、关键词、创建者、生成器、创建日期和修改日期 |
MergeFiles | 合并文件支持的源列表,提供有界源句柄、原生页面导入批次、显式策略、进度、取消、回滚和详细报告 |
ModifiedDate | 文档 Info 字典中记录的最后修改时间戳 |
MovePages | 按从 0 开始的索引就地重排本文档的页面,保持页数不变 |
MoveTo | 在给定页面坐标处开始新子路径 |
ObjectBitmap | 索引属性 —— 把一个图像页面对象返回为可渲染的 VCL TBitmap(从 JPX/CCITT 等有损解码) |
ObjectBounds | 当前页面上单个页面对象的紧凑轴对齐包围矩形 |
ObjectCount | 当前页面上页面对象(文本、路径、图像、着色、表单)数量的只读值 |
ObjectHandle | 指定页面对象的原始 PDFium FPDF_PAGEOBJECT 指针 |
ObjectTransparent | 指示页面对象是否参与 PDF 透明度 |
ObjectType | 返回指定索引处页面对象的类别 —— 文本、路径、图像、着色或表单 XObject。该分类与产生对象的 PDF 内容流算子对应,让调用方可以用单一 switch 分发遍历页面对象数组 |
function OptimizeImages(const Options: TPdfImageOptimizeOptions; out Report: TPdfImageOptimizeReport): Boolean | 通过原生位图和 FPDFImageObj_SetBitmap 路径对有效放置 DPI 超过调用方目标的页面图像对象进行降采样,然后让文档处于可 SaveAs 的状态 |
function GetFeatureInventory: TPdfFeatureInventory | 对每一页只扫描一次,返回文本、路径、图像、表单 XObject 和着色对象计数的统一记录,并附带文档级事实 |
function GetObjectText(Index: Integer): WString | 提取一个文本对象绘制的文本 |
function GetObjectsByType(ObjType: TObjectType): TPdfIntegerArray | 列出当前页面上某一类所有页面对象的索引 |
function GetPageActionType(EventType: Integer): Integer | 报告页面打开或关闭附加动作的 PDFACTION_* 类型,没有时为 0 |
function GetPageActionURI(EventType: Integer): WString | 读取页面打开或关闭动作要打开的 URI |
function GetTextInReadingOrder(Order: TPdfReadingOrder): WString | 按原始内容顺序或排序为物理阅读顺序提取页面文本 |
function GetTextObjectRenderedBitmap(Index: Integer; Scale: Single): TBitmap | 按请求的比例单独把一个文本对象栅格化 |
function GetTextRenderMode(Index: Integer): Integer | 读取文本对象的 FPDF_TEXTRENDERMODE_* 模式,用于区分不可见 OCR 文本和可见文本 |
function GetWidgetAdditionalActionJavaScript(AnnotIndex, EventType: Integer): WString | 读取表单字段控件的击键、格式、验证或计算脚本 |
function AuditActiveContent: TPdfActiveContentAudit | 返回 JavaScript 动作计数、内嵌文件、签名、XFA 表单类型和权限的快照,不执行任何脚本或动作 |
property OnFormFieldEnter | 表单填写引擎在表单字段上获得焦点时触发 |
property OnFormFieldExit | 表单填写引擎在表单字段上失去焦点时触发 |
property OnJavaScriptResponse | PDF 内嵌 JavaScript 动作请求用户交互时触发 |
property OnPageChange | Pdf.Page 被赋值为不同页面索引时触发 |
property OnUnsupportedFeature | 文档使用 PDFium 未实现的 PDF 特性时触发(例如 XFA 完整表单、3D 批注、多媒体) |
property OnXfaGotoUrl | 在动态 XFA 表单内导航链接 URL 时触发 |
property OnXfaUriAction | 链接 URI 动作在动态 XFA 上下文中触发时引发 |
function PadesCryptoAvailable: Boolean | 指示系统上签名密码后端是否可用 |
Page | 当前活动页面的原生 PDFium 页面句柄 |
function PageUsesOverprint: Boolean | 在可选打印输出扩展支持检测时查询页面的精确叠印使用情况 |
function PathInfo(Index: Integer): TPdfPathInfo | 读取路径对象的填充模式、描边标志和线段几何 |
property PageBounds[Box: TPdfPageBox]: TPdfRectangle | 页面级属性 —— 所请求页面框(MediaBox/CropBox/BleedBox/TrimBox/ArtBox)的矩形 |
property PageBox[Box: TPdfPageBox]: TPdfRectangle | 页面级属性 —— 读取或写入当前页面上特定的页面框矩形 |
property PageCount: Integer | 页面级属性 —— 打开文档的总页数 |
property PageMetrics[PageNumber: Integer]: TPdfPageMetrics | 任意页面的缓存尺寸、旋转、标签、透明度和标准页面框 |
property CacheBudgetBytes: Int64 | 为单个 TPdf 实例设置统一的保留缓存字节上限 |
property CacheGovernor: TPdfCacheGovernor | 返回拥有的共享调控器,用于按类别查询和应用缓存协调 |
property CacheGovernorStatistics: TPdfCacheGovernorStatistics | 返回当前、峰值、固定、逐出、触达和拒绝遥测数据 |
property LifecycleActionPolicy: TPdfLifecycleActionPolicy | 选择禁用、仅显式或兼容的自动文档与页面生命周期动作执行 |
property PageSceneCacheCapacity: Integer | 为索引渲染保留的已解析非活动页面场景数量上限 |
property PageSceneCacheCount: Integer | 当前可复用的已解析页面场景数量 |
PageHeight | 活动页面的高度(PDF 用户空间单位,点 = 1/72 英寸) |
function PageObjectClipPath(Index: Integer): TPdfClipPath | 读取限制一个页面对象绘制范围的裁剪路径 |
function PageObjectInfo(Index: Integer): TPdfPageObjectInfo | 以单一记录读取一个页面对象的所有可编辑属性 |
function PageObjectMarkedContentID(Index: Integer): Integer | 读取把页面对象链接到结构树的 /MCID,未加标签时为 -1 |
function PageObjectMarks(Index: Integer): TPdfContentMarks | 读取附加到页面对象的标记内容标签和类型化属性列表 |
property PageLabel: WString | 页面级属性 —— 返回用户可见的页面标签(例如 "iv" 或 "A-3"),而不是从 0 开始的索引 |
property PageMode: TPageMode | 页面级属性 —— 文档 /PageMode 提示(Outlines、Thumbs、FullScreen 等) |
property PageNumber: Integer | 可读写的从 1 开始计数的当前页面索引,带边界检查和回滚安全的原生页面替换 |
property PageRotation: TRotation | 页面级属性 —— 渲染当前页面时应用的旋转(ro0 / ro90 / ro180 / ro270) |
function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean | 把点的页面坐标转换为屏幕坐标 |
property PageWidth: Double | 页面级属性 —— 当前页面的宽度(点,1 pt = 1/72 英寸) |
function PageWordBoxes: TPdfWordBoxes | 返回当前 TPdf 页面上单词的 TPdfWordBox 记录,包含字符范围和页面空间矩形 |
function ExecuteDocumentLifecycleAction(Action: TPdfDocumentLifecycleAction; out ErrorMessage: string): Boolean | 运行一个原生文档生命周期动作,报告策略、环境或回调失败,不传播异常 |
function ExecutePageLifecycleAction(PageNumber: Integer; Action: TPdfPageLifecycleAction; out ErrorMessage: string): Boolean | 运行页面打开或关闭动作,不改变活动页面,并确定性地释放临时原生页面状态 |
TPdfDocumentLifecycleAction / TPdfPageLifecycleAction | 文档与页面生命周期动作的策略和执行模型,涵盖禁用、仅显式和兼容自动三种模式 |
property Password | 在 Active := True 之前指定的解密密码 |
PdfAConformance | 当前打开文档的只读 PDF/A 合规级别,无需显式调用 ValidatePdfA |
PdfEConformance | 当前打开文档的只读 PDF/E 合规级别,无需显式调用 ValidatePdfE |
PdfRConformance | 当前打开文档的只读 PDF/R 合规级别,无需显式调用 ValidatePdfR |
PdfUaConformance | 当前打开文档的只读 PDF/UA 合规级别,无需显式调用 ValidatePdfUa |
PdfVersion | 只读属性 —— 打开文档的 PDF 规范版本(例如 pv14、pv17、pv20) |
PdfVTConformance | 当前打开文档的只读 PDF/VT 合规级别,无需显式调用 ValidatePdfVT |
PdfXConformance | 当前打开文档的只读 PDF/X 合规级别,无需显式调用 ValidatePdfX |
function PerformNamedAction(const ActionName: string): Boolean | 执行一个命名动作;NextPage、PrevPage、FirstPage 和 LastPage 会带边界钳制地移动 PageNumber |
property Permissions | 返回从 /Encrypt 字典解码的所有者密码权限位 |
PrintCopies | 内嵌的建议打印份数,表示 PDF 作者希望打印对话框使用的份数 |
PrintPageRanges | 解码后的从 1 开始计数的页面范围列表,表示 PDF 作者希望的打印范围 |
PrintPaperHandling | 文档 /ViewerPreferences /Duplex 提示的解码值 |
PrintScaling | 文档 /ViewerPreferences /PrintScaling 的解码值 |
Producer | 生成该文件的 PDF 库或转换器名称 |
function ReadXmpPacket: TPdfXmpPacket | 把 XMP 元数据数据包读取为调用方拥有的已解析对象 |
function InspectPdfAMetadata: TPdfAMetadataReport | 返回全部八个 ISO 19005-1 Info 到 XMP 映射的类型化等价性证据 |
function InspectPdfUaLanguageCoverage: TPdfUaLanguageCoverageReport | 使用标记内容、结构祖先和 catalog 语言继承报告有界的自然语言证据 |
function InspectPdfUaUnicodeCoverage: TPdfUaUnicodeCoverageReport | 在单次原生文本页面遍历中报告对象级直接 Unicode 和 ActualText 提取覆盖率 |
function ReadAttachmentMetadata(MaxAttachments: Integer = 10000): TPdfAttachmentMetadataArray | 在单次有界原生枚举中捕获附件元数据和解码后大小,不加载有效载荷字节 |
function ReadStructureElements(PageNumber; Options; out Status): TPdfStructureElements | 在调用方选择的深度、元素、属性和时间预算下具体化迭代式结构树快照 |
ReadableContent | 返回面向屏幕阅读器、文本转语音和无障碍工作流的语义可读内容片段 |
function ReadablePageContent(PageNumber: Integer): TPdfReadableContent | 返回面向屏幕阅读器、文本转语音和无障碍工作流的语义可读内容片段 |
function ReadingUnits: TPdfReadingUnits | 从当前页面可读内容流构建句子级 TPdfReadingUnit 记录,用于辅助听读工作流 |
Rectangle | 返回当前页面文本布局中的一个文本包围矩形 |
procedure RefreshAppearance(AnnotIndex: Integer) | 强制 PDFium 重新生成一个批注的外观流 |
procedure RemoveAnnotationObject(Index, ObjectIndex: Integer) | 从墨迹或图章批注中删除一个页面对象 |
function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): Integer | 统计一段文本占用的矩形区域数量。若这些字符位于同一行且使用相同字体设置,函数会自动把小字符框合并为更大的框 |
procedure ReloadPage | 从 PDFium 引擎重新加载当前所选页面,并刷新页面对象缓存 |
procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True) | 从当前页面移除指定的页面对象。DestroyObject 为 True 时,移除后释放该对象。页面内容流会自动重新生成 |
procedure RemovePageObjectMark(Index, MarkIndex: Integer) | 从页面对象移除一个标记内容条目 |
procedure RemovePageObjectMarkParam(Index, MarkIndex: Integer; const Key: WString) | 从既有标记移除一个属性,而不替换标记 |
procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []) | 把页面内容渲染到设备(屏幕、位图或打印机) |
function RenderPageByIndex(PageNumber, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmap | 渲染任意页面而不改变 PageNumber,并在不同输出尺寸间复用其已解析的 PDFium 场景 |
procedure RenderPageSkia(Canvas: FPDF_SKIA_CANVAS; Width, Height: Integer; DrawFormOverlay: Boolean = True) | 把当前页面和可选表单叠加层渲染到调用方拥有的 SkCanvas |
procedure RenderPageSkiaByIndex(Canvas: FPDF_SKIA_CANVAS; PageNumber, Width, Height: Integer; DrawFormOverlay: Boolean = True) | 通过已解析页面场景缓存把任意页面渲染到 Skia,不改变活动页面 |
function RenderPageWithMatrix(Width, Height: Integer; const Matrix: FS_MATRIX; const Clip: TPdfRectangle; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmap | 通过任意变换渲染,并带目标空间裁剪矩形 |
function RenderSpotPlate(PlateIndex, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmap | 在可选 ABI 暴露该操作时渲染一个精确的原生印刷分色版 |
function RenderOverprintPreview(Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmap | 在可选 ABI 暴露该操作时渲染精确的原生叠印预览 |
function RenderPageBanded(Width, Height, BandHeight: Integer; BandCallback: TPdfBandCallback; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): Integer | 按水平条带渲染页面,使大页面始终无需整页尺寸的位图 |
function RenderPageBandedToEncoder(Width, Height, BandHeight: Integer; Encoder: TPdfBandedImageEncoder; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReport | 把顺序的原生裁剪条带提供给调用方拥有的编码器,并报告进度和峰值条带内存 |
function RenderPageBandedToStream(Stream: TStream; Width, Height: Integer; const StreamOptions: TPdfBandedImageStreamOptions; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReport | 直接从页面条带流出 PNG 或 TIFF 行,不保留整页像素 |
RenderPageProgressive | RenderPage 的可取消变体,驱动 PDFium 的渐进式渲染循环并在迭代之间轮询 IPdfCancellationToken,使长时间高 DPI 渲染可以在页面中途中止而不是阻塞到完成 |
function RenderPageProgressiveWithColorScheme(Bitmap: TBitmap; Left, Top, Width, Height: Integer; const AToken: IPdfCancellationToken; const ColorScheme: TPdfColorScheme; Rotation: TRotation = ro0; Options: TRenderOptions = []; Background: TColor = clWhite): TPdfProgressiveStatus | 可取消的渐进式渲染,覆盖路径和文本颜色以支持低视力阅读 |
function RenderPagesParallel(const PageNumbers: array of Integer; const Options: TPdfParallelRenderOptions; const CancellationToken: IPdfCancellationToken = nil): TPdfParallelRenderReport | 把当前文档一次性捕获到有界存储,并通过共享内存、只读文件映射或原生随机访问的隔离工作文档渲染请求的页面 |
function RenderPageThumbnail(PageIndex, MaxWidth, MaxHeight: Integer; Rotation: TRotation; Options: TRenderOptions; Background: TColor; const ColorScheme: TPdfColorScheme): TBitmap | 把任意从 1 开始计数的页面渲染到修订缓存的调用方拥有位图,并提供完整的渲染键控制 |
function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmap | 把页面的矩形区域渲染到新位图。返回的位图必须手动释放 |
function SpotPlates: TPdfSpotPlateInfos | 在可选 ABI 暴露枚举时返回精确的原生专色版索引和 UTF-8 名称 |
InspectOptionalContent | 枚举可选内容组、配置、使用元数据、单选组、OCMD 表达式和生效的 PDFium 渲染状态 |
function IsAnnotationSubtypeSupported(Subtype: TPdfAnnotationSubtype): Boolean | 报告加载的 PDFium 模块能否创建该批注子类型 |
function IsAnnotationObjectSubtypeSupported(Subtype: TPdfAnnotationSubtype): Boolean | 报告 PDFium 能否为该批注子类型提取和编辑外观对象 |
function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean | 把 PDF 文档的副本保存到指定流。PdfVersion 为 pv13 到 pv17 时,保存输出会按目标版本规范化和验证,包括增量输出中已有的 catalog /Version 覆盖。验证器覆盖完整的 PDF 1.1–1.7 / ISO 32000-1 特性时间线:滤镜(FlateDecode、JBIG2Decode、JPXDecode)、对象与 xref 流、透明度(SMask、ca/CA、混合模式)、Tagged PDF(StructTreeRoot、MarkInfo)、色彩空间(ICCBased、DeviceN)、页面框(BleedBox/TrimBox/ArtBox)、输出意图、可选内容、AcroForm、CID/Type 0 与 OpenType 字体、AES 与 AES-256 加密(CFM AESV2/AESV3)、所有受版本限制的批注子类型(Widget、Sound、Movie、FreeText、Line、Square、Circle、Highlight、Underline、StrikeOut、Stamp、Ink、Popup、FileAttachment、TrapNet、Squiggly、PrinterMark、Polygon、PolyLine、Caret、Screen、Watermark、3D、Redact)、受版本限制的动作类型(SubmitForm、ResetForm、ImportData、Hide、Named、JavaScript、Trans、SetState、Rendition、GoToE、GoTo3DView)以及 catalog 条目(Perms、Legal、Collection、Requirements、NeedsRendering)。超出所选目标版本的任何内容都会抛出 EPdfError。如果文档没有既有 OpenAction 且目标版本支持,保存的 PDF 会以适合高度的缩放打开到第一页。试用版构建在保存时应用试用水印 |
function SaveAsLinearized(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean | 写入全量重写的 Fast Web View PDF,包含首页分组、两个经典 xref 节,并在有益时提供压缩的附录 F 提示表 |
function SaveAsLinearized(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean | 在同目录临时文件完成并通过验证后,以原子方式把 Fast Web View 输出写入文件 |
function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean | 按页面局部性重排活动对象,把符合条件的值打包进有界的 ObjStm 组,并写入完整的 type-2 xref 条目 |
function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): Boolean | 在同目录临时文件完成后,以原子方式写入 PDF 1.5+ 对象流输出 |
function SaveAsNormalizedContent(Stream: TStream; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): Boolean | 规范化每个逻辑页面内容序列,并把安全的 /Contents 数组合并为单一流 |
function SaveAsNormalizedContent(const FileName: string; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): Boolean | 在写入规范化内容和完整经典 xref 后以原子方式替换文件 |
SaveAsPageLabelled | 写入完整 PDF 副本,把 catalog /PageLabels 数字树替换为提供的范围,并按照 ISO 32000-1 §12.4.2 应用十进制、罗马和字母编号样式 |
SaveAsOptionalContentConfigured | 写入并严格验证一个副本,为单一配置和使用设置调用方选择的可选内容组可见性 |
function SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean | 清扫不可达对象,并把文档重写为保留对象编号的单一经典修订版 |
function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean | 在精简单修订版重写后以原子方式替换文件 |
function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean | 清扫不可达对象并重写引用,使重复的字体、图像和表单 XObject 共享一个代表对象 |
function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean | 在去重单修订版重写后以原子方式替换文件 |
function SaveAsFlateRecompressed(Stream: TStream; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): Boolean | 当实测节省量超过调用方阈值时,以最大压缩率重新编码符合条件的 FlateDecode 流 |
function SaveAsFlateRecompressed(const FileName: string; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): Boolean | 在 Flate 重压缩重写后以原子方式替换文件 |
function SaveAsInlineImagesExternalised(Stream: TStream; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): Boolean | 把 BI/ID/EI 内联图像提取为可复用 XObject,展开缩写,并用 Do 算子替换内联块 |
function SaveAsInlineImagesExternalised(const FileName: string; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): Boolean | 在内联图像外部化后以原子方式替换文件 |
function SaveAsReproducible(Stream: TStream; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): Boolean | 剥离非确定性时间戳和 /ID,使同一文档的两次保存逐字节相同 |
function SaveAsReproducible(const FileName: string; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): Boolean | 在可复现重写后以原子方式替换文件 |
function ExportObjectGraph(Stream: TStream; const Options: TPdfObjectGraphInspectOptions; out Report: TPdfObjectGraphReport): Boolean | 把活动的间接值导出为带预算的类型化 JSON,并显式报告截断 |
function SaveAsObjectGraphPatched(Stream: TStream; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): Boolean | 追加经过验证的仅字典补丁修订,并在复制到目标前进行严格加载 |
function SaveAsObjectGraphPatched(const FileName: string; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): Boolean | 在对象图补丁事务成功后以原子方式替换文件 |
function SaveAsRedacted(Stream: TStream; const Options: TPdfRedactionOptions; out Report: TPdfRedactionReport): Boolean | 把 /Redact 批注应用到隔离快照,移除相交的顶层页面对象,绘制不透明替换内容,并输出干净的单修订版流 |
function SaveAsRedacted(const FileName: string; const Options: TPdfRedactionOptions; out Report: TPdfRedactionReport): Boolean | 在删改和净化管线成功后以原子方式替换文件 |
SaveAsSanitised | 生成干净的单修订版副本,剥离活动内容和 catalog /AF,然后清扫不可达对象,使孤立的 JavaScript、动作和附件主体从文件体中消失 |
BeginIncrementalSave / CommitIncrementalSave / EndIncrementalSave | 脏对象增量保存会话:一次性捕获稳定基线,在精确的前次输出之后追加保留字节的修订,完成后释放会话 |
procedure BeginIncrementalSave(AllowSignedDocument: Boolean = False) | 为脏对象修订会话捕获稳定基线和精确的加密或未加密源前缀 |
function CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): Boolean | 追加变更或新增的间接对象,继承既有加密,并独立验证结果 |
function CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): Boolean | 在原子替换前持久刷新并重新打开旁文件,任何失败后恢复会话状态 |
procedure EndIncrementalSave | 释放会话基线和累积输出 |
function ExportFDF(const FileName: string): Integer | 把表单字段值写为 FDF(ISO 32000-1 12.7.11);也提供 TStream 重载 |
function SaveAsEncrypted(const FileName: string; const Options: TPdfEncryptOptions): Boolean | 以 AESV3-CBC 或 ISO/TS 32003 AESV4-GCM 加密保存当前 PDF |
function SaveAsEncryptedToStream(Stream: TStream; const Options: TPdfEncryptOptions): Boolean | 把加密 PDF 输出写入任意可定位 TStream,而不经过磁盘中转 |
function PreparePadesRemoteSignature(Prepared: TStream; const Options: TPadesRemoteSignOptions; out Request: TPadesRemoteSigningRequest): Boolean | 创建带约束的审批或认证字段,以及远程签名所需的分离签名摘要、精确 ByteRange、坐标和已准备 PDF 指纹 |
class function CompletePadesRemoteSignature(Prepared, Dest: TStream; const Request: TPadesRemoteSigningRequest; const CmsDer: TBytes): Boolean | 拒绝被修改或复用的会话,仅在分离 CMS 绑定到已准备文档摘要时填充保留的签名槽位 |
class procedure SavePadesRemoteSigningRequest(Stream: TStream; const Request: TPadesRemoteSigningRequest) | 把固定版本的远程签名请求格式写入流 |
property SecurityHandlerRevision: Integer | 标准安全处理器的修订号,未加密文档为负值 |
function SetAnnotationFontColor(AnnotIndex: Integer; Color: TColor): Boolean | 覆盖表单字段控件批注的文本颜色 |
procedure SetAttachmentStringValue(Index: Integer; const Key, Value: WString) | 向附件的文件规格字典写入一个字符串条目 |
class procedure SetDeterministicTime(FixedEpoch: Int64) | 冻结 PDFium 写入输出的时钟,使保存的文档可逐字节复现 |
class function LoadPadesRemoteSigningRequest(Stream: TStream): TPadesRemoteSigningRequest | 读取并验证固定版本的远程签名请求格式 |
function RenewPadesArchiveTimestamp(const FileName: string; const Options: TPadesArchiveTimestampOptions; out Report: TPadesArchiveTimestampReport): Boolean | 向原始加载的 PAdES 字节追加存档 Document Time-stamp,并写入以原子方式暂存的文件 |
function RenewPadesArchiveTimestampToStream(Stream: TStream; const Options: TPadesArchiveTimestampOptions; out Report: TPadesArchiveTimestampReport): Boolean | 追加存档 Document Time-stamp,并把经过验证的 B-LTA 链写入流 |
class procedure RestoreActualTime | 在确定性时间会话后让 PDFium 回到系统时钟 |
function SaveAsPadesDss(const FileName: string; const Options: TPadesDssOptions): Boolean | 把当前 PDF 保存到文件,包含去重的 PAdES DSS 材料、签名专属 VRI 字典和源 xref 表示 |
function SaveAsPadesDssToStream(Stream: TStream; const Options: TPadesDssOptions): Boolean | 把当前 PDF 保存到流,包含去重的 PAdES DSS 材料、签名专属 VRI 字典和源 xref 表示 |
SaveAsPdfA | 通过对基础 PDF 进行增量更新后处理,把当前文档保存为符合 PDF/A-1b 的文件,注入 XMP 元数据流、sRGB ICC OutputIntent 和更新后的文档 catalog |
function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): Boolean | SaveAsPdfA 的内存变体 —— 把 PDF/A-1b 输出写入任意 TStream,而不经过磁盘中转 |
SaveAsPdfE | 通过对基础 PDF 进行增量更新后处理,把当前文档保存为符合 PDF/E-1 的文件,注入 PDF/E-1 文件格式标记(ISO 24517-1:2008) |
function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean | SaveAsPdfE 的内存变体 —— 把 PDF/E-1 输出写入任意 TStream,而不经过磁盘中转 |
SaveAsPdfR | 把当前文档保存为符合 PDF/R-1 的文件(ISO 23504-1:2020,即面向扫描文档的 PDF 光栅图像传输与存储子集) |
function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): Boolean | SaveAsPdfR 的内存变体 —— 把 PDF/R-1 输出写入任意 TStream,而不经过磁盘中转 |
SaveAsPdfUa | 默认保存为 PDF/UA-1,设置 TPdfUaSaveOptions.PdfUa2 时保存为 PDF/UA-2,包括必需的 XMP 标识和生效的 PDF 版本 |
function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): Boolean | 内存中的 PDF/UA-1 与 PDF/UA-2 输出,不经过磁盘中转 |
SaveAsPdfVT | 把当前文档保存为单文件 PDF/VT-1 合规文件(ISO 16612-2:2010,即可变数据与事务性打印的 PDF 子集) |
function SaveAsPdfVTToStream(Stream: TStream; const Options: TPdfVTSaveOptions): Boolean | SaveAsPdfVT 的内存变体 —— 把 PDF/VT 输出写入任意 TStream,而不经过磁盘中转 |
SaveAsPdfX | 通过对基础 PDF 进行增量更新后处理,把当前文档保存为符合 PDF/X-1a:2001、PDF/X-3:2002 或 PDF/X-4 的文件,注入 PDF/X 文件格式标记(ISO 15930 系列) |
function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): Boolean | SaveAsPdfX 的内存变体 —— 把 PDF/X 输出写入任意 TStream,而不经过磁盘中转 |
function SaveAsWithAssociateFiles(const FileName: string; const Options: TAssocFilesOptions): Boolean | 把当前 PDF 保存到文件路径,并按照 ISO 32000-2 §7.11.4 把关联文件注入 catalog 或页面 |
function SaveAsWithAssociateFilesToStream(Stream: TStream; const Options: TAssocFilesOptions): Boolean | 把带注入关联文件的 PDF 输出写入任意可定位 TStream,而不经过磁盘中转 |
function SaveAsWithXmpPacket(Stream: TStream; Packet: TPdfXmpPacket; AllowSignedDocument: Boolean = False): Boolean | 以替换的 XMP 元数据数据包保存文档 |
function NormalizePdfAMetadata(Stream: TStream; AllowSignedDocument: Boolean = False): Boolean | 修复不匹配的已映射 XMP 属性并保存规范化后的文档 |
procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags) | 为当前页面上指定批注索引处的表单字段设置 AcroForm 字段标志 |
procedure SetFormFieldFlagsAt(X, Y: Single; const Flags: TPdfFormFieldFlags) | 为给定坐标处的表单字段设置 Flags 位域 |
function SetFocusedFormFieldText(const Value: WString): Boolean | 通过 FocusedFormFieldIndex 设置当前逻辑表单字段的值,不依赖交互式插入符 |
function SetFocusedFormFieldTextDirection(Direction: TPdfFormTextDirection): Boolean | 更改焦点控件的内存中文本方向;该值在保存时不持久化 |
function SetFocusedFormOptionSelected(Index: Integer; Selected: Boolean): Boolean | 选中或清除焦点列表框或组合框的一个选项 |
procedure SetPageBox(Box: TPdfPageBox; const Rectangle: TPdfRectangle) | 为当前页面上指定名称的页面框(MediaBox / CropBox / BleedBox / TrimBox / ArtBox)写入新矩形 |
procedure SetPageObjectMarkParam(Index, MarkIndex: Integer; const Param: TPdfContentMarkParam) | 在既有标记上更新或插入一个类型化属性,同时保留其标识和无关属性 |
SetText | 在给定页面坐标处添加文本页面对象 |
procedure SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray) | 为指定文本对象设置逐字符位置。第一个字符位置默认为 0;Positions[0] 设置第二个字符位置,Positions[1] 设置第三个,依此类推。值以点为单位,且相对于文本对象原点 |
StampPagesFromPdf | 把源页面作为定位、缩放、可选旋转的 Form XObject 叠加层或衬底层盖印到一个或多个目标页面 |
Signature | 索引属性 —— 返回一条数字签名记录(签名者、原因、联系方式、字节范围) |
SignatureCount | 文档中内嵌的数字签字段数量 |
property Signatures: TPdfSignatures | 把所有原生签名记录复制到一个生命周期安全的快照 |
function SignPades(const FileName: string; const Options: TPadesSignOptions): Boolean | 追加审批或认证 PAdES 签名,支持可选的 seed 值、证书、FieldMDP 和 DocMDP 约束,同时保留既有表单和权限条目 |
function SignPadesToStream(Stream: TStream; const Options: TPadesSignOptions): Boolean | 写入带约束的 PAdES 签名更新,包含注册的 Widget 字段、64 位 ByteRange 处理和源 xref 表示 |
function SignPadesWithPdfA(const FileName: string; const Options: TPadesSignOptions; PdfAOptions: TPdfASaveOptions): Boolean | 保存符合 PDF/A 归档标准的已签名 PAdES PDF 文档 |
StructureElements | 索引属性 —— 返回逻辑结构树元素(StructTree)的子元素 |
Subject | 返回 PDF 文档信息字典中 /Subject 条目的值 |
function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WString | 从页面提取文本字符串。StartIndex 和 Count 参数决定要提取的字符。StartIndex 参数从 0 开始计数 |
function TextInRectangle(Left, Top, Right, Bottom: Double): WString | 提取页面上矩形边界内的文本 |
TextPage | 当前活动页面的原生 PDFium 文本页面句柄 |
function ThumbnailDecodedData: TBytes | 读取内嵌页面缩略图,并解码其流滤镜 |
property ThumbnailCacheMaxEntries: Integer | 保留的内嵌与渲染缩略图条目上限,默认 64 |
property ThumbnailCacheMaxBytes: Int64 | 缩略图 LRU 保留的估算像素字节上限,默认 64 MiB |
property ThumbnailCacheStatistics: TPdfThumbnailCacheStatistics | 报告占用、存储字节、命中、未命中和逐出情况 |
property ThumbnailRevision: Int64 | 缩略图使用方用来丢弃过期本地预览的单调内容修订号 |
function ThumbnailRawData: TBytes | 按存储原样读取内嵌页面缩略图,滤镜仍然生效 |
property Thumbnail | 返回当前页面 /Thumb 条目的原始字节(可选的预计算预览,通常为 64x64 光栅) |
Title | 返回 PDF 文档信息字典中 /Title 条目的值 |
property TrailerEnds: TPdfCardinalArray | 文档每个 trailer 结束处的字节偏移,每个修订一个 |
procedure TransformPageAnnotations(const Matrix: FS_MATRIX) | 对当前页面上的每个批注应用变换矩阵 |
procedure TransformPageContent(const Matrix: FS_MATRIX; const Clip: TPdfRectangle) | 对当前页面上的每个内容对象应用变换矩阵,并带裁剪矩形 |
procedure TransformPageObject(Index: Integer; const Matrix: FS_MATRIX) | 乘以一个页面对象的变换矩阵,实现移动、缩放、旋转或倾斜 |
procedure TransformPageObjectClipPath(Index: Integer; const Matrix: FS_MATRIX) | 只变换与一个页面对象关联的裁剪几何 |
Transparent | 当前活动页面是否包含透明内容 |
procedure UpdateAnnotationObject(AnnotIndex: Integer; PageObj: Pointer) | 通知批注其某个页面对象已被修改 |
procedure UpdatePageObject(Index: Integer; const Value: TPdfPageObjectInfo; Changes: TPdfPageObjectChanges) | 只写回更改集指定的页面对象属性 |
procedure UpdatePage | 把通过 CreateAnnotation、AddImage、AddText、SetFormFieldFlagsAt 等进行的内存中编辑提交到底层 PDFium 页面 |
property UserPermissions | 返回用户密码权限位(Permissions 的子集) |
UserGrantedPermissions | 以类型化 TPdfPermissions 集合返回用户密码权限 |
UserHasPermission(Permission: TPdfPermission): Boolean | 测试单个用户密码权限,无需手动位运算 |
function ValidatePades: TPadesValidationResult | 直接在原始源字节中验证唯一的签名档案条目和精确的 Contents 排除范围,无需重新保存 PDF |
function ValidatePadesTrust(const Options: TPadesTrustValidationOptions): TPadesValidationResult | 验证精确的原始 ByteRange 数据、签名者信任、可选吊销证据和 RFC 3161 时间戳令牌 |
function ValidatePadesTrustAsync(const Options: TPadesTrustValidationOptions; const Reply: TPadesTrustValidationReply): Boolean | 捕获原始源,并把可取消的分阶段信任验证分派到工作线程 |
function ValidatePdfMac(const Password: AnsiString): TPdfMacValidationResult | 使用精确的原始源字节和提供的密码验证独立 PDF MAC |
function ValidatePdfA: TPdfAValidationResult | 验证 PDF/A 标记、内容事实以及精确的 ISO 19005-1 Info 到 XMP 值等价性 |
function ValidatePdfE: TPdfEValidationResult | 检查当前打开的 PDF 是否具有 PDF/E-1 合规标记,返回包含检测到的合规级别以及所发现具体问题集合的结构化结果 |
ValidatePdfR | 验证 PDF/R-1 文件标记、元数据、加密档案、仅光栅页面内容、条带几何、颜色、有效分辨率和压缩参数 |
function ValidatePdfUa: TPdfUaValidationResult | 验证 PDF/UA-1 与 PDF/UA-2 标识、共享无障碍规则以及档案特定的 PDF 2.0 要求 |
function ValidatePdfVT: TPdfVTValidationResult | 检查当前打开的 PDF 是否具有 PDF/VT 合规标记,返回包含检测到的合规级别以及所发现问题集合的结构化结果 |
function ValidatePdfX: TPdfXValidationResult | 检查当前打开的 PDF 是否具有 PDF/X 合规标记,返回包含检测到的合规级别以及所发现具体问题集合的结构化结果 |
function VisitStructureElements(PageNumber; Options; Visitor; out Status): Integer | 把结构元素快照流式传给方法回调,不具体化页面数组 |
ViewerPreference | 索引属性 —— 返回 /ViewerPreferences 键的整数值(NumCopies、PrintScaling 等) |
WebLink | 页面上自动检测到的网页链接的 URL 和包围矩形 |
WebLinkCount | 通过扫描页面文本识别出的自动检测网页 URL 数量 |
property XFA | 返回文档中内嵌的 XFA XML 数据包(PDF/A 2.0 已弃用该格式,但 Acrobat 生成的表单仍在使用) |
property XfaFormPackets: TXfaPacketList | 把通过 XFA 运行时暴露的所有内嵌 XFA 数据包快照为 TXfaPacketList 集合 |
property XfaRuntimeAvailable: Boolean | 指示已加载文档的 XFA 运行时是否可用 |
property XfaStaticReadable: Boolean | 指示能否在没有 XFA 运行时的情况下读取静态 XFA 数据包 |
function LinkZOrderAtPoint(X, Y: Double): Integer | 返回页面坐标处最前方的链接批注 z 顺序,未命中链接时返回 -1 |
function FormFieldZOrderAtPoint(X, Y: Double): Integer | 返回页面坐标处最前方的表单字段 z 顺序,未命中该字段时返回 -1 |
function TryGetAnnotationFileAttachment(AnnotIndex: Integer; out Attachment: TPdfAnnotationAttachment; MaxBytes: Cardinal = 67108864): Boolean | 把有界的文件附件元数据和载荷从批注复制到自有记录 |
function GetLinkedAnnotationIndex(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship): Integer | 解析 Popup 或 IRT 关联批注索引,带悬空引用保护 |
function GetLinkedAnnotationChain(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship; MaxDepth: Integer = 64): TPdfIntegerArray | 遍历 Popup 或 IRT 关系链,带环和深度保护 |
function GetAnnotationDictionaryValue(AnnotIndex: Integer; const Key: WString): TPdfDictionaryValue | 从批注字典条目读取一个类型化值 |
function GetAttachmentDictionaryValue(Index: Integer; const Key: WString): TPdfDictionaryValue | 从内嵌文件附件字典条目读取一个类型化值 |
procedure SetFocusableAnnotationSubtypes(const Subtypes: array of TPdfAnnotationSubtype) | 限制哪些批注子类型可以通过表单句柄接收键盘焦点 |
function GetFocusableAnnotationSubtypes: TPdfAnnotationSubtypes | 返回当前可获得键盘焦点的批注子类型 |
procedure ClearFormSelectionRects | 清除通过 OnFormSelectionRect 报告的缓存表单选择矩形 |
| API | 说明 |
property About: string | 说明 TPdfView 发布的 About 成员 |
Active | 激活或停用查看器,打开绑定的 PDF 文档并渲染所选页面 |
property ActualSizeZoom[PageNumber: Integer]: Double | 只读缩放系数,按真实物理尺寸在宿主屏幕上显示页面 |
procedure AddImage(const FileName: string; X, Y, Width, Height: Integer); overload | 向 TPdfView 当前显示的页面添加图像,并把查看器客户区坐标矩形转换为 PDF 页面坐标 |
function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Integer): Boolean | TPdfView 包装器,转发到 TPdf.AddJpegImage |
procedure AddPicture(Picture: TPicture; X, Y: Integer); overload | TPdfView 包装器,转发到 TPdf.AddPicture |
Align | 控制 PDF 查看器在父容器中的布局方式 |
property AllowUserPageChange: Boolean | 允许用户输入(鼠标滚轮、拖动滚动条、按键)改变当前页面 |
property AllowUserTextSelection: Boolean | 控制查看器中由用户输入驱动的文本选择 |
Anchors | 指定父容器调整大小时查看器的哪些边与父容器对应边保持固定距离 |
property Annotation[Index: Integer]: TPdfAnnotation | TPdfView 包装器,转发到 TPdf.Annotation |
property AnnotationCount: Integer | TPdfView 包装器,转发到 TPdf.AnnotationCount |
property AsyncRendering: Boolean | 可选开关,让视图在长时间渲染期间绘制小的“Loading...”遮罩,使使用自有工作线程进行离线程渲染的应用共享一致的视觉提示 |
property Bitmap[Index: Integer]: TBitmap | TPdfView 包装器,转发到 TPdf.Bitmap |
property BitmapCount: Integer | TPdfView 包装器,转发到 TPdf.BitmapCount |
property Canvas: TCanvas | 页面渲染完成后控件暴露的绘制画布 |
property ChangePageOnMouseScrolling: Boolean | 在 SinglePage 模式下控制页面边缘的鼠标滚轮滚动是否翻到下一页 |
property Character[Index: Integer]: WideChar | TPdfView 包装器,转发到 TPdf.Character |
property CharacterAngle[Index: Integer]: Single | TPdfView 包装器,转发到 TPdf.CharacterAngle |
property CharacterCount: Integer | TPdfView 包装器,转发到 TPdf.CharacterCount |
property CharacterFontSize[Index: Integer]: Double | TPdfView 包装器,转发到 TPdf.CharacterFontSize |
property CharacterFontWeight[Index: Integer]: Integer | TPdfView 包装器,转发到 TPdf.CharacterFontWeight |
property CharacterGenerated[Index: Integer]: Boolean | TPdfView 包装器,转发到 TPdf.CharacterGenerated |
function CharacterIndexAtPos(X, Y: Integer; ToleranceX, ToleranceY: Double): Integer | 返回当前页面上距离屏幕像素 (X, Y) 最近的字符索引,附近没有足够接近的字符时返回 -1 |
property CharacterIsHyphen[Index: Integer]: Boolean | TPdfView 包装器,转发到 TPdf.CharacterIsHyphen |
property CharacterMapError[Index: Integer]: Boolean | TPdfView 包装器,转发到 TPdf.CharacterMapError |
property CharacterOrigin[Index: Integer]: TPoint | TPdfView 包装器,转发到 TPdf.CharacterOrigin |
property CharacterRectangle[Index: Integer]: TRect | TPdfView 包装器,转发到 TPdf.CharacterRectangle |
property Charcode[Index: Integer]: WideChar | TPdfView 包装器,转发到 TPdf.Charcode |
procedure ClearFormFieldFocus | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
procedure ClearHighlight | TPdfView 包装器,转发到 TPdfView.ClearHighlight |
procedure ClearReadingHighlight | 控制同步语音朗读播放使用的 TPdfView 阅读高亮遮罩 |
procedure ClearReadingWord | 清除 TPdfView 上当前的词级阅读光标遮罩 |
procedure ClearSelection | 清除当前文本选区并使视图失效重绘 |
Color | 设置绘制在页面矩形之间以及文档边缘周围的背景颜色 |
Constraints | 定义父容器调整大小时 PDF 查看器允许达到的最小和最大宽度与高度 |
function CopySelectionToClipboard: Boolean | 通过 Windows 或原生 LCL 系统剪贴板复制选中的 Unicode 文本 |
constructor Create(AOwner: TComponent); override | 创建 TPdfView 控件,并初始化渲染、滚动、选择和表单交互状态 |
procedure CreateAnnotation(const Annotation: TPdfAnnotation) | TPdfView 包装器,转发到 TPdf.CreateAnnotation |
property CurrentCharIndex: Integer | 只读的从 0 开始的字符索引,对应当前鼠标光标(或最近一次命中测试的点) |
procedure DeleteAnnotation(Index: Integer) | TPdfView 包装器,转发到 TPdf.DeleteAnnotation |
destructor Destroy; override | 在 TPdfView 销毁前释放查看器资源、渲染缓冲区和文档订阅 |
function DeviceToPage(X, Y: Integer; out PageX, PageY: Double): Boolean; overload | 把视图内的屏幕像素 (X, Y) 转换为当前页面上的 PDF 用户空间点 |
property DisplayMode: TPdfDisplayMode | 布局模式:单页、连续、双页、双页连续,可带或不带封面 |
property DragCursor | 说明 TPdfView 发布的 DragCursor 成员 |
property DragKind | 说明 TPdfView 发布的 DragKind 成员 |
property DragMode | 说明 TPdfView 发布的 DragMode 成员 |
Enabled | 控制 PDF 查看器是否接受来自鼠标和键盘的用户输入 |
property Find: FPDF_SCHHANDLE | TPdfView 包装器,转发到 TPdf.Find |
function FindFirst(const Text: WString; Options: TSearchOptions= []; StartIndex: Integer= 0; DirectionUp: Boolean= True): Integer | 开始搜索指定文本。StartIndex 从 0 开始,-1 表示页面末尾;DirectionUp 参数决定此次搜索的方向 |
function FindNext: Integer | TPdfView 包装器,转发到 TPdf.FindNext |
function FindPrevious: Integer | TPdfView 包装器,转发到 TPdf.FindPrevious |
property FitMode: TPdfFitMode | 控制当前页面在查看器客户区中的呈现方式;Resize 和 PageNumber 变化时会自动重新应用,使页面尺寸混杂的长文档始终保持取景完整 |
function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): Integer | TPdfView 包装器,转发到 TPdf.FlattenPage |
function FocusFormField(Index: Integer): Boolean | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FocusNextFormField: Integer | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FocusPreviousFormField: Integer | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FocusedFormFieldDetails: TPdfFormFieldInfo | 返回当前逻辑表单字段的 TPdfFormFieldInfo |
function FocusedFormFieldIndex: Integer | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FocusedFormFieldName: WString | 返回当前逻辑表单字段的显示名称,优先使用 AlternateName,缺省回退到 Name |
function FocusedFormFieldText: WString | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FocusedFormFieldTextDirection: TPdfFormTextDirection | 读取查看器中获得焦点控件在内存中的文本方向 |
function FocusedFormFieldValue: WString | 按 FocusedFormFieldIndex 返回当前逻辑表单字段值,不依赖交互式插入符 |
property FontAscent[Index: Integer; FontSize: Single]: Single | TPdfView 包装器,转发到 TPdf.FontAscent |
property FontBaseName[Index: Integer]: WString | TPdfView 包装器,转发到 TPdf.FontBaseName |
property FontData[Index: Integer]: TBytes | TPdfView 包装器,转发到 TPdf.FontData |
property FontDescent[Index: Integer; FontSize: Single]: Single | TPdfView 包装器,转发到 TPdf.FontDescent |
property FontFamilyName[Index: Integer]: WString | TPdfView 包装器,转发到 TPdf.FontFamilyName |
property FontFlags[Index: Integer]: Integer | TPdfView 包装器,转发到 TPdf.FontFlags |
property FontHandle[Index: Integer]: FPDF_FONT | TPdfView 包装器,转发到 TPdf.FontHandle |
property FontIsEmbedded[Index: Integer]: Boolean | TPdfView 包装器,转发到 TPdf.FontIsEmbedded |
property FontItalicAngle[Index: Integer]: Integer | TPdfView 包装器,转发到 TPdf.FontItalicAngle |
property FontSize[Index: Integer]: Double | TPdfView 包装器,转发到 TPdf.FontSize |
property FontWeight[Index: Integer]: Integer | TPdfView 包装器,转发到 TPdf.FontWeight |
function FormCanRedo: Boolean | 报告获得焦点的 AcroForm 控件是否至少有一个已撤销编辑可供重做 |
function FormCanUndo: Boolean | 报告获得焦点的 AcroForm 控件是否至少有一个可撤销的编辑 |
property FormField[Index: Integer]: WString | TPdfView 包装器,转发到 TPdf.FormField |
property FormFieldAt[X, Y: Integer]: WString | TPdfView 包装器,转发到 TPdf.FormFieldAt |
property FormFieldCount: Integer | TPdfView 包装器,转发到 TPdf.FormFieldCount |
property FormFieldInfo[Index: Integer]: TPdfFormFieldInfo | TPdfView 包装器,转发到 TPdf.FormFieldInfo |
property FormFieldInfoAt[X, Y: Integer]: TPdfFormFieldInfo | TPdfView 包装器,转发到 TPdf.FormFieldInfoAt |
function FormFieldTypeAt(X, Y: Integer; out FieldType: TPdfFormFieldType): Boolean | 把视图像素转换为页面坐标并执行原生字段类型命中测试 |
function FormFieldTabOrder: TPdfIntegerArray | 配合当前页面的 AcroForm 逻辑焦点游标,用于键盘、语音和无障碍工作流 |
function FormRedo: Boolean | 重做获得焦点的 AcroForm 控件上最近一次撤销的编辑,驱动 PDFium 的控件级重做历史 |
function FormUndo: Boolean | 撤销获得焦点的 AcroForm 控件上最近一次编辑,驱动 PDFium 的控件级撤销历史 |
procedure GenerateFormAppearances | TPdfView 包装器,转发到 TPdf.GenerateFormAppearances |
function GetSelectedFormText: WString | 返回视图活动页面上获得焦点的 AcroForm 控件内当前选中的文本 |
property HasFormFieldAt[X, Y: Integer]: Boolean | TPdfView 包装器,转发到 TPdf.HasFormFieldAt |
function HasSelection: Boolean | 返回查看器当前是否选中了任何文本 |
property HighlightColor: TColor | HighlightSearchText 返回的每个匹配项上所绘矩形的颜色,默认 clYellow;作为已发布属性便于应用程序定制高亮 |
function HighlightSearchText(const Text: WString; MatchCase: Boolean= False; MatchWholeWord: Boolean= False): Integer | TPdfView 包装器,转发到 TPdfView.HighlightSearchText |
property Image[Index: Integer]: TPdfImage | TPdfView 包装器,转发到 TPdf.Image |
property ImageCount: Integer | TPdfView 包装器,转发到 TPdf.ImageCount |
property LinkAnnotation[PageNumber, Index: Integer]: TLinkAnnotation | TPdfView 包装器,转发到 TPdf.LinkAnnotation |
function LinkAnnotationAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overload | 返回屏幕像素 (X, Y) 处的链接批注索引,未命中返回 -1 |
property LinkAnnotationCount[PageNumber: Integer]: Integer | TPdfView 包装器,转发到 TPdf.LinkAnnotationCount |
property LinkOptions: TPdfViewLinkOptions | 已发布集合,控制用户点击链接时视图自动跟随 PDFium 四种链接动作类型中的哪几种 |
LoadingColor | 页面仍在渲染时绘制的“加载中”占位内容的填充颜色 |
LoadingText | 异步渲染仍在进行时显示在页面中央的文本 |
property NightDuotoneInk: TColor | 控制 reNightDuotone 低视力渲染选项使用的墨水颜色 |
property NightDuotonePaper: TColor | 控制 reNightDuotone 低视力渲染选项使用的纸张颜色 |
property ObjectBitmap[Index: Integer]: TBitmap | TPdfView 包装器,转发到 TPdf.ObjectBitmap |
property ObjectBounds[Index: Integer]: TPdfRectangle | TPdfView 包装器,转发到 TPdf.ObjectBounds |
property ObjectCount: Integer | TPdfView 包装器,转发到 TPdf.ObjectCount |
property ObjectHandle[Index: Integer]: Pointer | TPdfView 包装器,转发到 TPdf.ObjectHandle |
property ObjectTransparent[Index: Integer]: Boolean | TPdfView 包装器,转发到 TPdf.ObjectTransparent |
property ObjectType[Index: Integer]: TObjectType | TPdfView 包装器,转发到 TPdf.ObjectType |
property Options: TRenderOptions | 渲染提示与 TPdfView 渲染后低视力选项的集合 |
property Page: FPDF_PAGE | TPdfView 包装器,转发到 TPdf.Page |
property PageBorderColor: TColor | 绘制在每个页面矩形周围的 1 像素边框颜色 |
property PageBounds: TPdfRectangle | TPdfView 包装器,转发到 TPdf.PageBounds |
property PageColor: TColor | 绘制在渲染后 PDF 页面下方的背景颜色,与周围控件的 Color 相互独立。默认值为 clWhite,即使宿主控件的 Color 采用深色主题,PDF 页面仍保持纸面白色 |
property PageCount: Integer | TPdfView 包装器,转发到 TPdf.PageCount |
property PageHeight: Double | TPdfView 包装器,转发到 TPdf.PageHeight |
property PageHeightZoom[PageNumber: Integer]: Double | 使页面高度适配视图的只读缩放系数 |
property PageLabel: WString | TPdfView 包装器,转发到 TPdf.PageLabel |
property PageNumber: Integer | TPdfView 包装器,转发到 TPdf.PageNumber |
property PageRotation: TRotation | TPdfView 包装器,转发到 TPdf.PageRotation |
PageShadowColor | 绘制在每个页面矩形下方的投影填充颜色 |
property PageShadowSize: Integer | 连续模式下绘制在每个页面周围的柔和阴影宽度(以像素为单位) |
function PageToDevice(PageX, PageY: Double; out X, Y: Integer): Boolean; overload | DeviceToPage 的逆运算:把 PDF 用户空间点转换为视图内的屏幕像素 |
property PageWidth: Double | TPdfView 包装器,转发到 TPdf.PageWidth |
property PageWidthZoom[PageNumber: Integer]: Double | 使页面宽度适配视图的只读缩放系数 |
function PageWordBoxes: TPdfWordBoxes | 返回当前 TPdfView 页面上单词的 TPdfWordBox 记录,含字符范围和页面空间矩形 |
property PageZoom[PageNumber: Integer]: Double | 在当前 DisplayMode 下使当前页面适配视图所需的只读缩放值 |
procedure PaintSelection(SelectionStart, SelectionEnd: Integer; Mask: TColor) | TPdfView 包装器,转发到 TPdfView.PaintSelection |
property ParentShowHint | 说明 TPdfView 发布的 ParentShowHint 成员 |
property Pdf: TPdf | 引用 TPdf 组件,其文档由查看器渲染 |
PopupMenu | 把 TPopupMenu 关联到 PDF 查看器,右键点击页面时弹出上下文菜单 |
ReadableContent | 返回面向屏幕阅读器、语音合成和无障碍工作流的语义可读内容片段 |
property ReadingHighlightColor: TColor | 控制同步语音朗读播放使用的 TPdfView 阅读高亮遮罩 |
function ReadingUnits: TPdfReadingUnits | 从当前 TPdfView 页面构建句级 TPdfReadingUnit 记录 |
property ReadingWordColor: TColor | 控制当前词级阅读光标使用的遮罩颜色 |
property ReadingWordFollow: Boolean | 控制朗读跟踪期间 TPdfView 是否把当前朗读单词滚动到可视区域 |
property Rectangle[Index: Integer]: TRect | TPdfView 包装器,转发到 TPdf.Rectangle |
function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): Integer | TPdfView 包装器,转发到 TPdf.RectangleCount |
procedure ReloadPage | TPdfView 包装器,转发到 TPdf.ReloadPage |
procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True) | TPdfView 包装器,转发到 TPdf.RemoveObject |
procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []) | 把页面内容渲染到设备(屏幕、位图或打印机) |
function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []): TBitmap | 把页面的矩形区域渲染为新位图。返回的位图需手动释放 |
property Rotation: TRotation | 应用于渲染页面的视觉旋转(ro0 / ro90 / ro180 / ro270) |
procedure SelectAll | 选中查看器当前显示页面上的全部字符 |
function SelectAllFormText: Boolean | 选中视图活动页面上获得焦点的 AcroForm 控件内的全部字符(相当于控件内按 Ctrl+A) |
function SelectTextRange(Page, StartIndex, Count: Integer): Boolean | 读写 TPdfView 的编程式文本选择模型,无需用户鼠标输入 |
function SelectWordBox(const Word: TPdfWordBox): Boolean | 在当前 TPdfView 页面上选中一个 TPdfWordBox 表示的文本范围 |
function SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): Boolean | 把同一页面上的一段 TPdfWordBox 记录作为一个 TPdfView 文本选区选中 |
function SelectedText: WString | 以宽字符串返回当前选中的文本 |
function SelectionCharCount: Integer | 返回当前选中的字符总数 |
property SelectionColor: TColor | 用户拖拽文本选区遮罩的填充颜色 |
function SelectionRanges: TPdfUserSelectionRanges | 读写 TPdfView 的编程式文本选择模型,无需用户鼠标输入 |
function SelectionRectangles: TPdfRectangles | 读写 TPdfView 的编程式文本选择模型,无需用户鼠标输入 |
procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags) | TPdfView 包装器,转发到 TPdf.SetFormFieldFlags |
procedure SetFormFieldFlagsAt(X, Y: Integer; const Flags: TPdfFormFieldFlags) | TPdfView 包装器,转发到 TPdf.SetFormFieldFlagsAt |
function SetFocusedFormFieldTextDirection(Direction: TPdfFormTextDirection): Boolean | 更改获得焦点控件在内存中的文本方向并重绘页面场景 |
procedure SetReadingHighlight(const Rects: TPdfRectangles; PageNumber: Integer) | 控制同步语音朗读播放使用的 TPdfView 阅读高亮遮罩 |
procedure SetReadingWord(const Word: TPdfWordBox) | 把一个 TPdfWordBox 高亮为 TPdfView 上当前朗读的单词 |
function SetSelection(const Ranges: TPdfUserSelectionRanges): Boolean | 读写 TPdfView 的编程式文本选择模型,无需用户鼠标输入 |
ShowHint | 启用或禁用鼠标悬停在 PDF 查看器上时显示的提示气泡 |
property SmoothScroll: Boolean | 为行/页滚动条命令启用定时器驱动的分段动画。拖动滚动块仍即时响应 |
property StructureElements: TPdfStructureElements | TPdfView 包装器,转发到 TPdf.StructureElements |
TabOrder | 定义 PDF 查看器在父容器 Tab 循环中的位置 |
TabStop | 指示用户能否通过按 Tab 键把焦点交给 PDF 查看器 |
function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WString | TPdfView 包装器,转发到 TPdf.Text |
function TextInRectangle(Left, Top, Right, Bottom: Integer): WString; overload | TPdfView 包装器,转发到 TPdf.TextInRectangle |
property TextPage: FPDF_TEXTPAGE | TPdfView 包装器,转发到 TPdf.TextPage |
property Thumbnail: TBitmap | TPdfView 包装器,转发到 TPdf.Thumbnail |
property Touch | 说明 TPdfView 发布的 Touch 成员 |
function TrackReadingWordAt(PageNumber, CharIndex: Integer): Integer | 把页面字符偏移映射到所在 TPdfWordBox,加以高亮并返回单词索引 |
property Transparent: Boolean | TPdfView 包装器,转发到 TPdf.Transparent |
procedure UpdatePage | TPdfView 包装器,转发到 TPdf.UpdatePage |
Visible | 显示或隐藏 PDF 查看器 |
property WebLink[PageNumber, Index: Integer]: TWebLink | TPdfView 包装器,转发到 TPdf.WebLink |
function WebLinkAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overload | 返回屏幕像素 (X, Y) 处的网页链接索引 |
property WebLinkCount[PageNumber: Integer]: Integer | TPdfView 包装器,转发到 TPdf.WebLinkCount |
property WindowHandle: HWND | 控件的原生窗口或 widget 句柄,按所选平台和 widget set 的语义使用 |
property Zoom: Double | 缩放系数,1.0 = 100%(72 DPI 下 1 个 PDF 点 = 1 个屏幕像素) |
TPdfReadingSession 是与 TTS 实现无关的朗读状态机,协调 TPdfSpokenText 文本块、宿主语音引擎回调以及 TPdfView 词光标高亮
| 类型 | 取值 |
TPdfLoadMode | plmCompatible, plmStrict, plmRecovery —— 选择加载允许执行多大程度的修复 |
TPdfLoadStatus | plsNotAttempted, plsLoaded, plsLoadedWithRecovery, plsRejected, plsFailed |
TPdfLoadRecoveryRoute | plrrNone, plrrNativeCrossReference, plrrNativeCrossReferenceRebuild |
TPdfContentNormalizeStatus | pcnsNotStarted, pcnsCompleted,以及有界失败原因 pcnsInputLimitExceeded, pcnsOutputLimitExceeded, pcnsTokenLimitExceeded, pcnsMalformedToken, pcnsUnresolvedInlineImage, pcnsUnbalancedState, pcnsUnsupportedFilter, pcnsEncryptedDocument, pcnsSignedDocument, pcnsDocumentRewriteFailed |
TPdfObjectPatchOperationKind | popSet, popRemove —— SaveAsObjectGraphPatched 使用的操作种类 |
TPdfObjectPatchValue | 记录:Kind, BooleanValue, IntegerValue, RealValue, TextValue, ReferenceObjectNumber, ReferenceGeneration |
TPdfOptionalContentState | ocsUnspecified, ocsOn, ocsOff |
TPdfStreamDecodeLevel | psdlRaw, psdlGeneral, psdlFull |
TPdfStreamNativeAccess | psnaNone, psnaImageObject, psnaEmbeddedFile |
TPdfStreamReadStatus | psrsCompleted, psrsPartiallyDecoded,以及 psrsInvalidIndex, psrsSourceLimitExceeded, psrsExpansionRatioExceeded, psrsUnsupportedFilter, psrsEncrypted, psrsMalformed 等有界读取拒绝项 |
TPdfAFRelationship | afSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData, afTemplate —— ISO 32000-2 7.11.4 的关联文件关系 |
TDpmTarget | dptRoot, dptLeaf —— PDF/VT 文档部件元数据的附加位置 |
TPdfXmpNamespace | 记录:Prefix, Uri —— TPdfXmpPacket 的一个命名空间 |
TPdfAMetadataValues | 记录,包含 PDFium 解码的映射 Info 值和显式的键存在集合 |
TPdfAMetadataComparison | 记录,包含一个映射字段、其等价状态和双方被比较的值 |
TPdfAMetadataReport | 记录,包含 XMP 可用性、解析状态、逐字段比较、不匹配字段和 IsEquivalent |
TPdfLoadIssue | 记录:Code, Severity, Offset, ObjectNumber, RevisionIndex, MessageText —— 有界交叉引用审计的一条发现 |
TPdfLoadIssueCode | 审计发现代码,从 plicHeaderMissing 与 plicStartXrefInvalid 到 plicXrefEntryConflict, plicNativeCrossReferenceRebuild, plicStrictModeRejected 和 plicRepairVerificationFailure |
TPdfLoadIssueSeverity | plisInformation, plisWarning, plisError |
TPdfObjectPatchValueKind | povNull, povBoolean, povInteger, povReal, povName, povTextString, povReference |
TPdfStreamFilterInfo | 记录:过滤器 Name 与 Kind,以及解码参数 Predictor, Colors, BitsPerComponent, Columns, EarlyChange |
TPdfOptionalContentGroup | 描述一个 OCG 的记录:对象编号与生成号、Name、Intents、查看/打印/导出状态、页面元素子类型、语言、用户类型与名称、可选缩放范围、EffectiveVisible、Locked 和单选组索引 |
TPdfOptionalContentConfiguration | 描述一个 OCG 配置的记录:名称、创建者、BaseState、意图、on / off / locked / order 组列表、单选组以及是否存在自动状态 |
TPdfOptionalContentMembership | 描述一个 OCMD 的记录:引用的组、Policy、可见性表达式和 EffectiveVisible |
TPdfOptionalContentMembershipPolicy | ocmpAnyOn, ocmpAllOn, ocmpAnyOff, ocmpAllOff, ocmpUnknown |
TPdfOptionalContentBaseState | ocbsOn, ocbsOff, ocbsUnchanged |
TPdfOptionalContentRadioGroup | 记录:作为一个单选按钮集合运作的组对象编号 |
TPdfOptionalContentStateChange | 记录:GroupObjectNumber 与要写入的 Visible 状态 |
TPdfXmpValue | 记录:Kind(pxvkText, pxvkUri, pxvkResource)、Text, Language, Qualifiers, RawXml |
EPdfXmpError | XMP 输入格式非法时引发的异常 |
TXfdfNameValuePair | 记录:Name, Value —— XFDF 文档的一个通用条目 |
TPdfDpmEntry | 记录:Name, Value, IsNestedDict —— 一个 PDF/VT 文档部件元数据条目 |
TPdfVT2sValidationIssue | PDF/VT-2s MIME 流验证的发现项,例如 vtmviNotMultipart, vtmviMissingStreamVersion, vtmviMissingBoundary, vtmviNoInlinePdf 和 vtmviInlinePdfNotPdfVT |
| 类型 | 取值 |
TPdfBatchMergeErrorPolicy | bmepStop, bmepSkip |
TPdfBatchMergeFormPolicy | bmfpPreserveNative, bmfpFlatten, bmfpReject |
TPdfBatchMergeOutlinePolicy | bmopDiscard, bmopReject |
TPdfBatchMergeResourcePolicy | bmrpSourceScoped, bmrpChunked |
TPdfBatchMergeStatus | bmrsCompleted, bmrsCompletedWithErrors, bmrsCancelled, bmrsFailed |
TPdfPagePlanOperation | ppoDelete, ppoMove, ppoInsert |
TPdfPagePlanDecision | ppdAllow, ppdReview, ppdReject |
TPdfValidationPredicateKind | pvpkIssueAbsent, pvpkStandardPass, pvpkCustom |
TPdfValidationRun | 记录:规则结果及通过/失败/跳过/错误计数、访问的对象、证据字节、预留内存峰值、耗时毫秒数以及 IsComplete / IsCompliant |
TPdfBatchValidationStatus | pbvsComplete, pbvsPartial, pbvsCancelled, pbvsFailed |
TPdfInkGesture | 记录:描述一笔墨迹笔画的 Points 数组 |
TPdfFormFillInfo | 压缩记录,把 PDFium FPDF_FORMFILLINFO 回调块与其所属 TPdf 配对;由表单填写桥在内部使用 |
TPdfBatchMergeIssue | 记录:失败或被跳过的某个源的 SourceIndex, FileName, MessageText |
TPdfBatchMergeProgress | 记录:Stage、源索引与数量、文件名以及已导入的源/页面/原生调用计数 |
TPdfBatchMergeProgressStage | bmpsStarted, bmpsOpeningSource, bmpsImportingPages, bmpsSourceCompleted, bmpsSourceFailed, bmpsRollingBack, bmpsCompleted, bmpsCancelled, bmpsFailed |
TPdfBatchValidationItem | 记录:文件名、Status、预检报告、验证运行、错误消息和耗时毫秒数 |
TPdfBatchValidationItemStatus | pbvisPending, pbvisPass, pbvisFail, pbvisCancelled, pbvisError |
TPdfValidationRuleResult | 记录:规则 id、配置档、条款、类别、严重性、Status、证据、修复提示和耗时毫秒数 |
TPdfValidationRuleStatus | pvrrsPass, pvrrsFail, pvrrsSkipped, pvrrsError |
TPdfValidationRunStatus | pvrsComplete, pvrsFastFailed, pvrsBudgetExceeded, pvrsCancelled, pvrsError |
TPdfARepairStep | 记录:有序修复动作,含类别、问题代码、证据、依赖、Safety,以及完全重写、签名失效和受阻状态标志 |
TPdfARepairCategory | parcSecurity, parcFonts, parcColour, parcAttachments, parcStructure, parcMetadata, parcOther |
TPdfARepairSafety | parsAutomatic, parsReviewRequired, parsManual |
TPdfXProductionIssue | 记录:问题 Kind、严重性、页码、对象索引以及来自 PDF/X 生产检查的证据 |
TPdfXProductionIssueKind | pxpikOutputIntent, pxpikPageBox, pxpikFont, pxpikColourant, pxpikTransparency, pxpikOverprint, pxpikSeparation, pxpikImageResolution |
TPdfXProductionPage | 记录:逐页面的框存在性、对象计数、透明度标志和最小有效 DPI |
TPdfRPageFacts | 记录:PDF/R 页面事实 —— 媒体与图像几何、对象计数、像素尺寸、分辨率、位深、颜色空间和过滤器 |
TPdfPagePlanImpact | ppiBookmarks, ppiNamedDestinations, ppiPageLabels, ppiFormFields, ppiStructureTree, ppiSignatures, ppiImportedFeaturesUnknown |