property Page: FPDF_PAGE; // read only
Page 暴露的是与当前活动页面绑定的原始 PDFium FPDF_PAGE 句柄。该句柄会在设置 PageNumber 时创建,或在 Active 变为 True 时创建,并在该页面绑定的生命周期内一直有效。它也是 PDFium 的 C API 在每次调用 FPDFPage_*、FPDF_RenderPage*、注释、内容流和表单控件接口时所期望接收的同一句柄
只有在 Active 为 True 且已设置有效 PageNumber 时,该句柄才有效。设置新的 PageNumber、调用 ReloadPage,或将 Active 重新设回 False,都会销毁现有句柄,并且在前两种情况下创建一个新句柄。不要对该句柄调用 FPDF_ClosePage,组件会负责其生命周期并自动清理
Page 是一个高级属性,适用于调用 PDFiumPas 尚未封装的 PDFium API,例如自定义外观流重建、页面对象记录,或底层文本提取微调。大多数调用方应优先使用更高层的属性(PageWidth、PageHeight、RenderToBitmap、Annotation 等),这些属性已经正确管理了句柄
nil。在把句柄传给 PDFium 函数之前务必先检查Document 的线程中使用页面Document 一起使用,例如 FPDFPage_Delete(Pdf.Document, Pdf.PageNumber - 1)
var P: FPDF_PAGE;
Pdf1.Active := True;
Pdf1.PageNumber := 1;
P := Pdf1.Page;
if Assigned(P) then
ShowMessage(Format('%.0f x %.0f points',
[FPDF_GetPageWidth(P), FPDF_GetPageHeight(P)]));