property TextPage: FPDF_TEXTPAGE; // read only
TextPage 暴露的是与当前已加载页面关联的原生 PDFium FPDF_TEXTPAGE 句柄。该句柄会在页面变为活动状态时按需创建,并在该页面绑定的生命周期内保持有效;它为需要更高层 TPdf 属性未暴露操作的调用者提供了对 PDFium 文本提取 API(FPDFText_*)的直接访问,例如字形级文本运行、字距数据、自定义搜索语义或原始字符索引到边界框的映射
只有在 Active 为 True 且选中了有效页面时,该句柄才有效。切换页面(赋予新的 PageNumber 或调用 ReloadPage)会销毁旧句柄并创建新句柄,因此不要在页面切换之间保存这个句柄。该组件拥有此句柄,并会在页面拆除时释放它——不要手动调用 FPDFText_ClosePage
这是一个高级属性。大多数调用者应优先使用高层包装器 CharacterCount、Character[I]、CharacterRectangle[I]、Find / FindNext——这些包装器已经在内部管理了 FPDF_TEXTPAGE 生命周期。只有在需要 PDFiumPas 尚未暴露的 PDFium API 时,才应退回到原始句柄
nil。在把句柄传给 PDFium 之前务必先检查它FPDFText_FindStart 的提取状态;该搜索上下文由 Find 属性独立持有
var TP: FPDF_TEXTPAGE;
TP := Pdf1.TextPage;
if Assigned(TP) then
ShowMessage(Format('PDFium reports %d chars',
[FPDFText_CountChars(TP)]));