外观 API
外观 API
Facades API 提供了简化的、面向任务的包装器,围绕核心 Aspose.PDF FOSS for .NET 对象模型。每个 facade 类针对特定的 PDF 操作——表单填写、文件合并、内容编辑或数字签名——并公开 BindPdf / Save 工作流。
使用 Form facade 填写表单
Form(在Aspose.Pdf.Facades中)绑定到现有的 PDF,并允许您在不遍历页面树的情况下读取或写入 AcroForm 字段值。
using var form = new Form("input.pdf", "output.pdf");
form.FillField("FirstName", "Alice");
form.FillField("AcceptTerms", "Yes");
form.Save();读取字段值:
using var form = new Form("input.pdf");
string name = form.GetField("FirstName");使用 PdfFileEditor 合并和拆分 PDF
PdfFileEditor 连接、拆分、提取并删除页面范围。
var editor = new PdfFileEditor();
// Concatenate two files
editor.Concatenate("file1.pdf", "file2.pdf", "merged.pdf");
// Extract pages 2-5
editor.Extract("source.pdf", 2, 5, "pages2to5.pdf");
// Split at page 3
editor.SplitFromFirst("source.pdf", 3, "first3.pdf");使用 PdfContentEditor 编辑页面内容
PdfContentEditor 修改现有页面内容 — 添加文本、替换文本或将操作附加到批注。
var editor = new PdfContentEditor();
editor.BindPdf("input.pdf");
// Perform content edits
editor.Save("output.pdf");使用 PdfFileSignature 的数字签名
PdfFileSignature 对 PDF 文档进行签名并验证现有签名。
var sig = new PdfFileSignature();
sig.BindPdf("document.pdf");
// Sign or verify
sig.Save("signed.pdf");使用 PdfFileStamp 进行页面盖章
PdfFileStamp 将文本、图像或其他 PDF 页面叠加为印章。
var stamp = new PdfFileStamp();
stamp.BindPdf("input.pdf");
// Add stamps
stamp.Save("stamped.pdf");
stamp.Close();使用 PdfConverter 将页面转换为图像
PdfConverter 将 PDF 页面渲染为光栅图像格式。
var converter = new PdfConverter();
converter.BindPdf("input.pdf");
converter.DoConvert();
// Iterate pages and save images技巧与最佳实践
- 始终调用
Close()或使用using来释放 facade 对象持有的资源。 - 对大文件使用带文件路径的
BindPdf,以避免一次性将所有内容加载到内存中。 - 在优雅的错误处理方面,优先使用
TryConcatenate和TryAppend而不是它们的非 Try 版本。 - Facade 在内部将任务委托给核心
Document模型——当需要细粒度控制时,请切换到核心 API。 FormEditorfacade 允许向现有 PDF 添加新表单字段,而不仅仅是填写已有字段。
常见问题
| Issue | Cause | Fix |
|---|---|---|
Save() 生成空文件 | 在保存之前未调用 BindPdf | 在调用 Save 之前始终绑定源 PDF |
| 表单字段值未写入 | 字段名称与 PDF 的内部字段名称不匹配 | 使用 Form.FieldNames 列出可用的字段名称 |
| 合并静默失败 | 输入文件已加密或损坏 | 使用 TryConcatenate 并检查返回值 |
| 编辑后签名无效 | 签名后内容被修改 | 将文档签署作为最后一步 |
常见问题
Facades 与核心 Document API 有何区别?
Facade 提供高级、面向任务的方法(填写表单,合并文件)。
核心 API(Document、Page、Annotation)提供对
每个 PDF 对象的低层访问。Facade 在内部使用核心 API。
我可以链式调用多个 facade 操作吗?
是的。绑定相同的源,执行操作,然后一次性保存。或者保存
中间结果并在下一次操作时重新绑定。
PdfFileEditor 支持受密码保护的 PDF 吗?
是的。接受所有者/用户密码的重载可用于加密文件。
API 参考摘要
| Class / Method | Description |
|---|---|
Form | AcroForm 门面,用于读取和写入字段值 |
Form.FillField | 按名称设置表单字段值 |
Form.GetField | 按名称读取表单字段值 |
FormEditor | 在现有 PDF 中添加或修改表单字段 |
PdfFileEditor | 合并、拆分、提取和删除 PDF 页面范围 |
PdfFileEditor.Concatenate | 将两个或多个 PDF 合并为一个 |
PdfFileEditor.Extract | 将页面范围提取为新 PDF |
PdfContentEditor | 修改页面内容(文本、注释、操作) |
PdfFileSignature | 签署并验证 PDF 数字签名 |
PdfFileStamp | 在页面上覆盖文本或图像印章 |
PdfConverter | 将 PDF 页面渲染为光栅图像 |
FormattedText | 用于印章操作的样式化文本描述符 |
FontStyle | 字体样式枚举(粗体、斜体等) |
EncodingType | 字符编码枚举 |