Windows 使用 VCL 或 Lazarus Windows Widget Set。原生 Free Pascal/LCL 建置則使用 Linux Qt6 或 macOS Cocoa,並搭配相符的 PDFium 共用程式庫;工具鏈與執行環境需求請參閱原生 LCL 設定。VCL Delphi/C++Builder 包裝元件仍走 Windows 路徑;原生 Delphi macOS 加密與時間戳記輔助功能的驗收,和視覺包裝元件分開進行
| 方法 | 說明 |
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) | 將頁面文字分割為 TPdfWordBox 記錄,含單字文字與 FTextPage 字元範圍 |
WordBoxIndexAtCharIndex(Words, CharIndex) | 將字元索引映射回包含它的以零起始 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 程式庫在 packet 陣列與支援的單一串流 XDP 儲存中會保留編輯過的文字,包括原始空白與增補 Unicode。在 v3.126.0 中,支援的單一串流 XDP 還會保留被取代的作用中 datasets 與表單封包以外的註解與處理指令,包括 UTF-8 與帶 BOM 的 UTF-16 輸入;無效的輸入編碼、不完整的標籤、無效的實體參照、格式錯誤的處理指令、被取代封包內的註解與處理指令、DTD 宣告與 XMLDSig 都會被拒絕。這些是有界的儲存防護,不是完整的 XML 驗證器。其他受支援的封包與根命名空間以語意方式保留;任意外部格式的完整性與逐位元組相同的 XML 序列化仍不在驗證範圍內
Windows 檢視器的複製、剪下與表單貼上在 v3.126.0 使用有界的 100ms 剪貼簿開啟重試額度,且不泵送 UI 訊息;剪貼簿仍無法存取時照樣回傳失敗,而失敗的剪下會保留欄位的原始文字與選取範圍
在 v3.126.2 中,完整 XFA 檢視保住了預設文字選取設定的安全性,鍵盤輸入時會取代選取的欄位文字,並在動態版面配置回呼返回後重新整理頁面控制代碼;唯讀欄位與 AllowFormEvents 的輸入限制維持不變
v3.126.2 的 Windows V8 儲存防護會在變更單一串流 XDP 之前驗證屬性語法、重複屬性、限定名稱、命名空間範圍與 XML 宣告;XML schema、DTD、XMLDSig、XML 1.1 與增補平面名稱仍不在支援範圍內
v3.126.1 的 Windows V8 程式庫還會在動態版面配置搬移欄位時重新整理已載入輸入 widget 的幾何資訊,讓文字與原生輸入命中區域對齊新位置。必要的儲存庫測試資料透過原生事件驗證實例的新增、移除與高度變更;任意外部表單與前景檢視器輸入仍屬於另行驗收的工作
| 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 圖形單元註冊的影像格式(透過 Vcl.Imaging.PngImage / LCL TPortableNetworkGraphic 的 BMP、PNG、JPG 等)。座標位於 PDF 使用者空間(原點在頁面左下);Width 與 Height 是以使用者單位表示的放置大小,而非來源影像的像素尺寸 |
function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean | 使用指定座標將 JPEG 影像加入目前 PDF 頁面 |
procedure AddPage(PageNumber: Integer; Width, Height: Double) | 以給定的點(point)尺寸建立新的空白頁面 |
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 | 為頁面物件加入 marked-content 項目及其初始具型別屬性清單 |
PageObjectInfo / AnnotationObjectInfo / PageObjectMarks / PathInfo / TransformPageObject / RenderPageWithMatrix | 單一總覽頁面上的進階頁面內容與註解物件檢查、標記、路徑、變換與文字度量 |
function SharePageObjectMark(TargetIndex, SourceIndex, SourceMarkIndex: Integer): Boolean | 在另一個頁面物件上重複使用一個原生 marked-content 屬性標記 |
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 | 讀取或取代指定以零起始索引的文件層級內嵌檔案原始位元組酬載。每個位置對應 PDF 1.7 規格第 7.11 節定義的 PDF EmbeddedFiles 名稱樹中的一個項目 |
AttachmentCount | 文件中宣告的內嵌檔案附件數量 |
property AttachmentDescription[Index: Integer]: WString | 讀取或寫入文件層級內嵌檔案的 /Desc 描述 |
function AttachmentHasKey(Index: Integer; const Key: WString): Boolean | 測試內嵌附件是否帶有指定的檔案規格鍵值 |
AttachmentName | 回傳文件 EmbeddedFiles 名稱樹中指定以零起始索引之內嵌檔案註冊的 Unicode 檔案名稱 |
property AttachmentRelationship[Index: Integer]: WString | 回傳文件層級內嵌檔案的 /AFRelationship 名稱(ISO 32000-2 Table 43),沒有該項目時回傳空字串 |
AttachmentType | 回傳指定以零起始索引之內嵌檔案註冊的 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 點(point)為單位,經 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 使用者空間點(point)座標中的原點(基線左側錨點) |
CharacterRectangle | 唯讀索引存取字元在 PDF 使用者空間座標(原點在左下,單位為點(point))中的邊界矩形 |
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 | 回傳指定以零起始索引之具名目的地的 TDestination 記錄。具名目的地是 PDF 第 12.3.2 節所述文件 catalog Dests / Names 樹下定義的間接目標 |
DestinationByName | 依字串名稱查詢 /Names 目的地,並回傳其目標頁面、fit 類型與座標 |
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 | 推進進行中 Find 工作階段的游標,並回傳下一個相符的字元索引 |
function FindPrevious | 將 Find 游標倒轉一個相符項 |
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 點(point)表示,並縮放至呼叫端提供的字型大小 |
FontBaseName | 回傳頁面物件所用字型的 PostScript 基本名稱(PDF 字型字典的 /BaseFont 項目),包含 -Bold 或 ,Italic 等樣式字尾 |
FontData | 唯讀索引存取內嵌字型程式的原始位元組(僅在字型內嵌時有值) |
FontDescent | 回傳頁面物件字型的下移(基線到最低下降部之間的距離),以 PDF 點(point)表示,並縮放至呼叫端提供的字型大小 |
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 點(point)為單位)。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 | 回傳指定以零起始索引的 XFA 封包原始內容位元組 |
function GetXfaPacketCount: Integer | 回傳文件中內嵌的 XFA 封包數量 |
function GetXfaPacketName(Index: Integer): string | 回傳指定以零起始索引的 XFA 封包名稱 |
function GetXfaTemplate: TBytes | 從 PDF 文件擷取 XFA template 封包的原始 XML 位元組 |
GrantedPermissions | 以具型別的 TPdfPermissions 集合回傳擁有者密碼權限 |
HasBookmarkChildren | 當給定的大綱節點至少有一個子書籤時回傳 True |
HasFormFieldAt | 點擊測試,當表單欄位元件涵蓋給定頁面座標時回傳 True |
HasPermission(Permission: TPdfPermission): Boolean | 測試單一擁有者密碼權限,不需手動位元運算 |
Image | 索引屬性 — 回傳目前頁面上的一個影像頁面物件(控制代碼 + bbox + 位元深度 + 色彩空間) |
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 | 依以零起始索引從另一個 TPdf 匯入特定頁面子集,並可控目前文件中的插入點 |
function ImportPreferences(Pdf: TPdf): Boolean | 位元集合,控制 ImportPages 如何複製內容(資源、具名目的地、註解等) |
function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECT | 將 TPdfXObject 包裝的頁面插入一份複本到本文件的目前頁面,回傳 FPDF_PAGEOBJECT,讓呼叫端可以定位 / 縮放 / 旋轉 |
IsTagged | 文件是否宣告了供無障礙使用的結構樹 |
JavaScriptAction | 索引屬性 — 回傳一個文件層級 JavaScript 動作(名稱 + 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 | 以零起始索引就地重新排序本文件的頁面,頁數保持不變 |
MoveTo | 在給定的頁面座標開始新的子路徑 |
ObjectBitmap | 索引屬性 — 將一個影像頁面物件回傳為可算繪的 VCL TBitmap(自 JPX/CCITT 等有損解碼) |
ObjectBounds | 目前頁面上單一頁面物件的緊密軸對齊邊界矩形 |
ObjectCount | 目前頁面上頁面物件(文字、路徑、影像、著色、表單)的唯讀數量 |
ObjectHandle | 指定頁面物件的原始 PDFium FPDF_PAGEOBJECT 指標 |
ObjectTransparent | 指示頁面物件是否參與 PDF 透明度 — 可能是透過 |
ObjectType | 回傳指定索引處頁面物件的類別 — 文字、路徑、影像、著色或 Form XObject。分類與產生物件的 PDF 內容串流運算子相符,讓呼叫端可用單一 switch 分派迭代頁面物件陣列 |
function OptimizeImages(const Options: TPdfImageOptimizeOptions; out Report: TPdfImageOptimizeReport): Boolean | 當頁面影像物件的有效放置 DPI 超過呼叫端目標時,透過原生點陣圖與 FPDFImageObj_SetBitmap 路徑進行降取樣,然後讓文件準備好 SaveAs |
function GetFeatureInventory: TPdfFeatureInventory | 掃描每一頁一次,回傳統一的記錄,包含文字、路徑、影像、Form 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 使用者空間單位(點(point)= 1/72 英吋)表示 |
function PageObjectClipPath(Index: Integer): TPdfClipPath | 讀取限制單一頁面物件繪製範圍的裁剪路徑 |
function PageObjectInfo(Index: Integer): TPdfPageObjectInfo | 以單一記錄讀取單一頁面物件的每個可編輯屬性 |
function PageObjectMarkedContentID(Index: Integer): Integer | 讀取將頁面物件連結到結構樹的 /MCID,未標記時為 -1 |
function PageObjectMarks(Index: Integer): TPdfContentMarks | 讀取附加到頁面物件的 marked-content 標籤與具型別屬性清單 |
property PageLabel: WString | 頁面層級屬性 — 回傳使用者可見的頁面標籤(例如 "iv" 或 "A-3"),而非以零起始的索引 |
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 | 頁面層級屬性 — 目前頁面的寬度,以點(point)為單位(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 | 使用 marked-content、結構祖先與 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) | 從頁面物件移除一個 marked-content 項目 |
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 | 將目前文件擷取一次至有界儲存,並透過共用記憶體、唯讀檔案映射或原生隨機存取的隔離 worker 持有 PDFium 文件,算繪要求的頁面 |
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)、output intents、可選內容、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 會以 Fit Height 縮放開啟第一頁。試用版會在儲存時套用試用浮水印 |
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 | 掃除不可抵達的物件並重寫參照,讓重複的字型、影像與 Form 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 行內影像擷取為可重複使用的 XObjects,展開縮寫,並以 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 位元組,並寫入以原子方式暫存的檔案 |
function RenewPadesArchiveTimestampToStream(Stream: TStream; const Options: TPadesArchiveTimestampOptions; out Report: TPadesArchiveTimestampReport): Boolean | 附加封存文件時間戳,並將已驗證的 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,注入 XMP 中繼資料串流、sRGB ICC OutputIntent 與更新的文件 catalog,將目前文件儲存為符合 PDF/A-1b 的檔案 |
function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): Boolean | SaveAsPdfA 的記憶體內版本 — 將 PDF/A-1b 輸出寫入任何 TStream,不經磁碟暫存 |
SaveAsPdfE | 透過增量更新後處理基礎 PDF,注入 PDF/E-1 檔案格式標記(ISO 24517-1:2008),將目前文件儲存為符合 PDF/E-1 的檔案 |
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 檔案格式標記(ISO 15930 系列),將目前文件儲存為符合 PDF/X-1a:2001、PDF/X-3:2002 或 PDF/X-4 的檔案 |
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] 設定第三個,依此類推。值以點(point)為單位,相對於文字物件原點 |
StampPagesFromPdf | 將來源頁面蓋印為定位、縮放、可選旋轉的 Form XObject 覆蓋層或底層,套用至一或多個目標頁面 |
Signature | 索引屬性 — 回傳一筆數位簽章記錄(簽署者、原因、聯絡人、位元組範圍) |
SignatureCount | 內嵌在文件中的數位簽章欄位數量 |
property Signatures: TPdfSignatures | 將所有原生簽章記錄複製到一個生命週期安全的快照 |
function SignPades(const FileName: string; const Options: TPadesSignOptions): Boolean | 附加核准或認證 PAdES 簽章,可選 seed value、憑證、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 | 擷取原始來源,並將可取消的分階段信任驗證分派至 worker 執行緒 |
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 檔案標記、中繼資料、加密設定檔、僅點陣頁面內容、strip 幾何、色彩、有效解析度與壓縮參數 |
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 | 在單頁模式下,控制在頁面邊緣捲動滑鼠滾輪是否前進到下一頁 |
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) | 在 TPdfView 上將一個 TPdfWordBox 高亮為目前朗讀單字 |
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 Handle,依選定平台與 Widget Set 解讀 |
property Zoom: Double | 縮放係數,1.0 = 100%(72 DPI 下一個 PDF 點 = 1 個螢幕像素) |
TPdfProgressiveDocument 衍生自 TPdf,在遠端或持續成長的隨機存取資料流接收所要求的位元組範圍時,維持 PDFium 原生可用性工作階段存活
TPdfReadingSession 是與 TTS 無關的朗讀狀態機,協調 TPdfSpokenText 區塊、主機語音引擎回呼與 TPdfView 單字游標高亮