如何保存和编辑 PDF 修订历史
PDF 修订历史指的是一种功能或能力,它允许你跟踪和管理随着时间推移对 PDF 文档所做的更改。它通常用于多个用户协作处理一个文档的情况,你需要维护文档的修订记录,包括谁在何时做了修改。
在数字签名方面,IronPdf 具有管理修订历史和回滚到特定版本的功能。
如何保存和编辑 PDF 修订历史
- 下载保存和编辑 PDF 修订历史的 C# 库
- 使用
保存为修订
方法将 PDF 保存为版本 - 使用
获取版本
方法 - 访问 修订次数 属性来获取修订计数
- 保存并导出 PDF
开始在您的项目中使用IronPDF,并立即获取免费试用。
查看 IronPDF 上 Nuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。
Install-Package IronPdf
考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip
手动安装到你的项目中
下载DLL保存并签署 PDF 修订迭代
在下面的示例中,我们打开一个 PDF 文件,进行各种编辑,然后在保存前签名。对于签名权限,我们只允许将填写表格作为未来的编辑内容,否则签名将因任何其他编辑而失效。
然后,我们将调用 SaveAsRevision
将修订保存到历史记录,然后将新文档保存到磁盘。
请注意
:path=/static-assets/pdf/content-code-examples/how-to/signing-revision.cs
using IronPdf;
using IronPdf.Rendering;
// Import PDF and enable TrackChanges
PdfDocument pdf = PdfDocument.FromFile("annual_census.pdf", TrackChanges: ChangeTrackingModes.EnableChangeTracking);
// ... various edits ...
pdf.SignWithFile("/assets/IronSignature.p12", "password", null, IronPdf.Signing.SignaturePermissions.FormFillingAllowed);
PdfDocument pdfWithRevision = pdf.SaveAsRevision();
pdfWithRevision.SaveAs("annual_census_2.pdf");
Imports IronPdf
Imports IronPdf.Rendering
' Import PDF and enable TrackChanges
Private pdf As PdfDocument = PdfDocument.FromFile("annual_census.pdf", TrackChanges:= ChangeTrackingModes.EnableChangeTracking)
' ... various edits ...
pdf.SignWithFile("/assets/IronSignature.p12", "password", Nothing, IronPdf.Signing.SignaturePermissions.FormFillingAllowed)
Dim pdfWithRevision As PdfDocument = pdf.SaveAsRevision()
pdfWithRevision.SaveAs("annual_census_2.pdf")
了解签名的增量保存
有些查看器(如 Chrome 浏览器)只显示一个版本,而 PDF 文件则可以存储文档的先前版本,类似于 Git 的提交历史。在更高级的 PDF 阅读器(如 Adobe Acrobat)中就能看到这种功能。
在处理 PDF 签名时,了解这一点很重要,因为签署 PDF 的操作适用于 PDF 的当前迭代。您的 PDF 可能有较早迭代的签名,也可能有一些未签名的版本。我们可以形象地举例说明如下:
PDF 文档迭代 | 证书 A | 证书 B | 证书 C | 证书 D |
---|---|---|---|---|
0 (第一次保存) | ✅ | |||
1 | ||||
2 | ||||
3 | ✅ (仅限表格字段编辑) | ✅ (仅限表格字段编辑) | ||
4 (仅编辑表格字段) | ✅ | |||
5 | ✅ (不允许进一步编辑) | ✅ (不允许进一步编辑) | ✅ (不允许进一步编辑) |
上面是一份经过 6 次不同迭代的文档。这份文档可能会在公司各部门之间传递审批,直到迭代 3 最终完成。在这次迭代中,人员 A 和人员 B 都签署了该文档,并设置了 "仅限表单字段编辑 "权限。这意味着允许填写 PDF 文档中的表单字段,但对文档的任何其他更改都会导致他们的签名无效。
在上面的示例中,我们可以假设 C 君填写了表单,并将其发送回 A 君、B 君和 D 君,他们都在最后一次签名时使用了 "不允许编辑 "权限。由于在此文档中没有采取任何无效操作,因此当我们运行 IronPDF 的签名方法时,将得到 true。
回滚到旧版本
要回滚到 PDF 以前的版本,可以使用 GetRevision
方法。这将会遗忘此修订版之后所做的任何更改,包括更新的签名。要做到这一点,请使用
:path=/static-assets/pdf/content-code-examples/how-to/signing-revert-revision.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("report.pdf");
int versions = pdf.RevisionCount; // total revisions
PdfDocument rolledBackPdf = pdf.GetRevision(2);
rolledBackPdf.SaveAs("report-draft.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("report.pdf")
Private versions As Integer = pdf.RevisionCount ' total revisions
Private rolledBackPdf As PdfDocument = pdf.GetRevision(2)
rolledBackPdf.SaveAs("report-draft.pdf")