如何儲存及編輯 PDF 修訂歷史记录
PDF修訂歷史指的是一項功能或能力,允許您跟踪並管理隨時間對PDF文件所做的更改。它經常用於多個用戶共同協作一個文件的情況中,您想要保持該文件修訂的記錄,包括誰進行了更改以及何時進行的。
在數位簽章的背景下,IronPDF 具備管理修訂歷史和回溯到特定版本的功能。
開始使用 IronPDF
立即在您的專案中使用IronPDF,並享受免費試用。
如何儲存及編輯 PDF 修訂歷史记录
- 下載 C# 程式庫以使用 IronPDF 保存和編輯 PDF 修訂歷史記錄
- 使用
保存為修訂
將 PDF 儲存為版本的方法 - 使用以下方法檢索PDF版本
獲取版本
方法 - 訪問 版本數 屬性以取得修訂次數
- 儲存並匯出您的 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")
了解遞增保存簽名的方法
雖然某些觀眾如 Chrome 瀏覽器僅顯示一個版本,PDF 文件具有儲存文件先前版本的能力,類似於 Git 提交歷史。 您會在例如Adobe Acrobat這樣的進階PDF檢視器中看到這個功能。
處理PDF簽名時,了解這點非常重要,因為簽名PDF的行為適用於PDF的當前迭代。 您的 PDF 可能包含舊版本的簽名,或可能有一些未簽名的版本。 我們可以將範例如下視覺化:
PDF文件迭代 | 證書A | 證書 B | 證書C | 證書 D |
---|---|---|---|---|
(第一次保存) | ✅ | |||
✅ (僅限表單欄位編輯) | ✅ (僅限表單欄位編輯) | |||
(僅編輯過的表單欄位) | ✅ | |||
✅ 不能再做任何編輯 | ✅ 不能再做任何編輯 | ✅ 不能再做任何編輯 |
上面,我們有一份已經經過 6 次不同迭代的文件。 這份文件可能正在公司各部門之間流傳,經過批准後在第三次迭代中被最終確定。在此迭代中,甲方和乙方在設置了「僅限表單字段編輯」權限的情況下簽署了該文件。 這意味著允許在PDF文件中填寫表格字段,但對文件的任何其他更改將使其簽名無效。
在上述範例中,我們可以假設是 C 個人填寫了表格並將其發回給 A、B 和 D 個人,這三個人在文件上進行最終簽署,並設置了「不允許編輯」的權限。 由於此文件中沒有採取任何無效動作,當我們執行IronPDF的簽名方法時,我們將獲得真。
恢復到舊版本
要回滾到 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")