請注意: 為提升 PDF 匯出效能,我們將 TrackChanges 選項設為 false。 (若要使用增量儲存功能,此選項必須設定為 true。
using IronPdf;using IronPdf.Rendering;// Import PDF and enable TrackChangesPdfDocument 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");
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");
ImportsIronPdfImportsIronPdf.Rendering' Import PDF and enable TrackChangesPrivate pdf AsPdfDocument = PdfDocument.FromFile("annual_census.pdf", TrackChanges:= ChangeTrackingModes.EnableChangeTracking)' ... various edits ...pdf.SignWithFile("/assets/IronSignature.p12", "password", Nothing, IronPdf.Signing.SignaturePermissions.AdditionalSignaturesAndFormFillingAllowed)Dim pdfWithRevision AsPdfDocument = 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")
ChangeTrackingModes.EnableChangeTracking 參數對於維持完整的稽核追蹤至關重要。 啟用此功能後,IronPDF 會將所有文件修改內容保存為獨立圖層,讓使用者能夠瀏覽文件的修改歷史紀錄。 此功能整合了 PDF 安全與權限機制,以確保僅授權使用者能存取特定版本。
為何理解"增量節省"對簽名至關重要?
雖然某些檢視器(如 Chrome 瀏覽器)僅顯示單一版本,但 PDF 檔案可儲存文件的先前版本,類似於 Git 的提交歷史紀錄。 您會在 Adobe Acrobat 等進階 PDF 檢視器中看到此功能。 在使用已簽署的 PDF 時,理解此增量節省機制至關重要,因為每個簽名皆適用於特定的文件狀態。
處理 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 安全功能結合使用,將極具價值,因為它能確保每個簽名僅對其所套用的特定文件狀態有效。 此機制可防止未經授權的修改,同時完整保留所有變更的稽核追蹤紀錄。
若要還原至 PDF 的先前版本,請使用 GetRevision 方法。 這將忽略自本次修訂以來的所有變更,包括較新的簽名。 當您需要從意外變更中恢復,或檢視文件隨時間演變的歷程時,此功能至關重要。
using IronPdf;PdfDocument pdf = PdfDocument.FromFile("report.pdf");int versions = pdf.RevisionCount; // total revisionsPdfDocument rolledBackPdf = pdf.GetRevision(2);rolledBackPdf.SaveAs("report-draft.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("report.pdf");
int versions = pdf.RevisionCount; // total revisions
PdfDocument rolledBackPdf = pdf.GetRevision(2);
rolledBackPdf.SaveAs("report-draft.pdf");
ImportsIronPdfPrivate pdf AsPdfDocument = PdfDocument.FromFile("report.pdf")Private versions AsInteger = pdf.RevisionCount' total revisionsPrivate rolledBackPdf AsPdfDocument = 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")
GetRevision 方法會建立一個新的 PDF 文件實例,其中僅包含截至指定修訂號為止的內容。 此工具適用於以下情境:
您需要比較文件的不同版本
因未經授權的變更,某個簽名已被視為無效
您希望從較早的版本分支,以採用不同的審核工作流程
您需要透過展示特定時間點的文件狀態來證明符合規範
處理修訂版本時,還原操作不會影響原始 PDF 檔案——它會建立一個新的文件實例。 此方法在維持資料完整性的同時,亦能提供管理文件版本的靈活性。 若需更進階的 PDF 處理技術,請探索 IronPDF 的全面編輯功能。
PDF 修訂版本管理的最佳實踐
在應用程式中實作版本歷史記錄時,請參考以下最佳實務:
務必啟用修訂追蹤:開啟需要修訂歷史紀錄的 PDF 檔案時,請設定 EnableChangeTracking。
Can IronPDF integrate PDF revision history with security features?
Yes, IronPDF integrates revision history with security features such as permissions and passwords to ensure that only authorized users can access or modify specific revisions, thus maintaining document integrity and preventing unauthorized changes.
What best practices should I follow when managing PDF revisions in IronPDF?
Key practices include enabling change tracking, documenting your revision strategy, implementing access controls, exporting important revisions periodically, and testing signature compatibility with your workflow to avoid invalidations.