如何在C#中保存和编辑PDF修订历史

How to Save & Edit PDF Revision History

This article was translated from English: Does it need improvement?
Translated
View the article in English

PDF修订历史记录是指一种功能或能力,允许您跟踪和管理PDF文档随时间的更改。在多人协作处理文档的情况下,常用于维护文档修订记录,包括谁进行了更改以及何时更改。

在数字签名的背景下,IronPDF具备管理修订历史和回滚到特定版本的功能。

快速开始: 使用IronPDF保存PDF修订)

使用IronPDF在您的C#应用程序中轻松管理和保存PDF修订。 本快速指南展示了使用IronPDF的SaveAsRevision方法保存文档版本的简便性,实现PDF更改的无缝跟踪和管理。 首先加载一个PDF文件并将其保存为一个独立的修订版本,确保所有修改安全归档。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    var pdf = IronPdf.PdfDocument.FromFile("example.pdf");
    pdf.SaveAsRevision("revision1.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer

as-heading:3(最小工作流(5步)

  1. 下载C#库以使用IronPDF保存和编辑PDF修订历史
  2. 使用SaveAsRevision方法将PDF保存为版本。
  3. 使用GetRevision方法检索PDF版本。
  4. 访问RevisionCount属性以获取修订计数。
  5. 保存并导出您的PDF。

保存并签署PDF修订迭代

在以下示例中,我们打开一个PDF文件,进行各种编辑,然后在保存之前签署它。 对于签名权限,我们将仅允许将填写表单作为未来的编辑; 否则,任何其他编辑都会使签名失效。

然后我们将调用SaveAsRevision将修订记录保存在历史中,然后将新文档保存到磁盘。

请注意为了提高PDF导出性能,我们已将TrackChanges选项设置为false。 此选项需要设置为true以利用增量保存功能。

: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.AdditionalSignaturesAndFormFillingAllowed);

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.AdditionalSignaturesAndFormFillingAllowed)

Dim pdfWithRevision As PdfDocument = pdf.SaveAsRevision()

pdfWithRevision.SaveAs("annual_census_2.pdf")
$vbLabelText   $csharpLabel

了解签名的增量保存

虽然一些查看器如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")
$vbLabelText   $csharpLabel

常见问题解答

我如何在 C# 中管理 PDF 修订历史?

您可以使用 IronPDF 库在 C# 中管理 PDF 修订历史。它提供了诸如 SaveAsRevision 方法来保存 PDF 的不同版本,以及 GetRevision 方法来检索这些版本。

保存 PDF 修订的目的是什么?

保存 PDF 修订允许您随时间跟踪文档更改,这在协作环境中至关重要。IronPDF 通过允许保存和检索文档版本来促进这一点。

我如何检索 PDF 的先前版本?

要检索 PDF 的先前版本,您可以使用 IronPDF 的 GetRevision 方法。此方法使您能够访问或回滚到特定的文档修订。

什么是 PDF 文档的增量保存?

PDF 的增量保存允许以类似于提交历史记录的方式存储更改。此功能对于管理数字签名和修订历史特别有用,IronPDF 可以有效处理这些问题。

数字签名如何处理 PDF 修订?

数字签名适用于 PDF 文档的特定修订。在 IronPDF 中,文档一旦签署,任何进一步的更改将使该特定修订的签名失效。

我可以为 PDF 中的数字签名设置权限吗?

是的,使用 IronPDF,您可以为数字签名设置权限,例如仅允许表单填写编辑,这有助于保持签名的有效性,除非进行了进一步的未经授权的编辑。

我如何回滚到之前的 PDF 修订?

要回滚到之前的 PDF 修订,请使用 IronPDF 的 GetRevision 方法。这允许您将文档恢复到特定状态,并丢弃该修订后所做的任何更改。

如何提高 PDF 导出性能?

在 IronPDF 中,禁用 TrackChanges 选项可以提高 PDF 导出性能。但是,如果您希望保持增量保存和修订历史,则需要启用此选项。

我在哪里可以下载 IronPDF 库?

可以从 NuGet 包仓库下载 IronPDF 库:https://nuget.org/packages/IronPdf/。

IronPDF 是否兼容 .NET 10?版本历史记录功能是否相同?

是的。IronPDF 完全兼容 .NET 10,其版本历史记录功能(例如SaveAsRevisionGetRevision 、增量保存和跟踪更改)在 .NET 10 项目中的工作方式与早期支持的版本相同。IronPDF 支持 .NET Core 5-10、.NET Standard 2.0+ 和 .NET Framework 4.6.2+ 环境。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布