property Active: Boolean; // default False
将 Active 设为 True 会打开并加载由 FileName 指定的 PDF 文档,若文档已加密则使用 Password。设为 False 时,文档会关闭,所有关联的 PDFium 资源(页面、字体、表单句柄、文本页)都会释放
你也可以直接调用 LoadDocument,而不是切换这个属性。当 Active 已经为 True 时再次赋值 FileName 会自动从新路径重新加载文档,这也是在单个 TPdf 实例中切换多个 PDF 的推荐方式
如果文件无法打开(路径错误、密码错误、PDF 损坏或不受支持的仅 XFA 表单),会抛出 EPdfError 异常。请将赋值包在 try/except 块中以便优雅处理错误,并查看 E.Message 获取 PDFium 的错误说明
Active 第一次变为 True 时按需加载,如需从自定义路径预加载,请参见 LoadLibraryPdfView1.Pdf := Pdf1,然后再将 Pdf1.Active := True,以打开文档并渲染第一页Active := False)会使之前从索引属性返回的每个记录(Annotation、Bookmark、FormFieldInfo 等)失效,不要在打开 / 关闭周期之间保留它们
Pdf1.FileName := 'C:\docs\report.pdf';
Pdf1.Password := ''; // leave empty if not encrypted
try
Pdf1.Active := True;
ShowMessage('Pages: ' + IntToStr(Pdf1.PageCount));
except
on E: EPdfError do
ShowMessage('Cannot open: ' + E.Message);
end;