如何保存及編輯 PDF 修訂歷史
PDF 修訂歷史是指一種功能或能力,使您能夠追蹤和管理隨著時間推移對 PDF 文件所做的更改。這通常用於多名使用者共同協作編輯文件的情況,您可以保留文件修訂的記錄,包括誰做了更改以及更改的時間。
在數位簽章的情境中,IronPDF 具有管理修訂歷史和回滾至特定版本的能力。
如何儲存及編輯 PDF 修訂歷史记录
- 下載C#庫來保存和編輯PDF修訂歷史
- 使用
保存為修訂
將 PDF 儲存為版本的方法 - 使用以下方法檢索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.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 提交歷史記錄一樣儲存以前版本的能力。你可以在更高級的 PDF 查看器中看到這一點,例如 Adobe Acrobat。
在處理 PDF 簽名時,了解這一點很重要,因為簽署 PDF 的操作適用於 PDF 的當前迭代版本。你的 PDF 可能有較舊版本的簽名,或可能有一些未簽署的版本。我們可以像下面這樣視覺化一個範例:
PDF文件迭代 | 證書A | 證書 B | 證書C | 證書 D |
---|---|---|---|---|
0(第一次保存) | ✅ | |||
1 | ||||
2 | ||||
3 | ✅ (僅限表單欄位編輯) | ✅ (僅限表單欄位編輯) | ||
4(僅編輯過的表單欄位) | ✅ | |||
5 | ✅ 不能再做任何編輯 | ✅ 不能再做任何編輯 | ✅ 不能再做任何編輯 |
上方我們有一份經過了6次不同版本的文件。該文件可能會在公司的各個部門之間傳遞並獲得批准,直到第3次版本才最終定稿。在這個版本中,Person A 和 Person B 都在文件上簽了名,並設置了“僅允許編輯表單字段”的權限。這意味著可以在 PDF 文件中填寫表單字段,但對文件的任何其他更改都會使他們的簽名失效。
在上面的例子中,我們可以假設 Person C 填寫了表單並將其反饋給 Person 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")