如何在 C# 中儲存和編輯 PDF 修訂歷史

如何在 C# 中儲存和編輯 PDF 修訂歷史記錄

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

PDF 版本歷史記錄是指一項功能,它允許您追蹤和管理 PDF 文件隨時間推移所做的變更。它通常用於多個使用者協作編輯文件的情況,並且您需要保留文件的修訂記錄,包括誰進行了更改以及更改時間。

在數位簽章方面,IronPDF 具備管理修訂歷史記錄和回溯到特定版本的功能。

快速入門:使用 IronPDF 儲存 PDF 修訂

在 C# 應用程式中使用 IronPDF 輕鬆管理和保存 PDF 版本。 本快速指南示範了使用 IronPDF 的SaveAsRevision方法來儲存文件版本的簡單性,因此可以無縫追蹤和管理 PDF 變更。 首先載入 PDF 檔案並將其另存為一個單獨的版本,確保所有修改都已安全存檔。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronPDF

    PM > Install-Package IronPdf

  2. 複製並運行這段程式碼。

    var pdf = IronPdf.PdfDocument.FromFile("example.pdf");
    pdf.SaveAsRevision("revision1.pdf");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronPDF,免費試用!
    arrow pointer

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

1.下載用於使用 IronPDF 儲存和編輯 PDF 修訂歷史記錄的 C# 庫

  1. 使用SaveAsRevision方法將 PDF 儲存為多個版本。
  2. 使用GetRevision方法檢索 PDF 版本。
  3. 存取RevisionCount屬性以取得修訂計數。
  4. 儲存並匯出您的 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 提交歷史記錄。 您會在 Adobe Acrobat 等更高級的 PDF 檢視器中看到這一點。

處理 PDF 簽章時,了解這一點很重要,因為對 PDF 進行簽署的操作適用於 PDF 的當前版本。 您的 PDF 檔案可能包含舊版本的簽名,也可能包含一些未簽名的版本。 我們可以這樣形象化說明:

PDF文件迭代 證書A B級證書 C級證書 D級證書
0(首次儲存)
1
2
3
(僅限表單欄位編輯)

(僅限表單欄位編輯)
4(僅編輯表單欄位)
5
(不允許再進行任何編輯)

(不允許再進行任何編輯)

(不允許再進行任何編輯)

上面這份文件已經經歷了 6 個不同的迭代版本。 該文件可能會在公司各部門之間流轉,並經審批後在第三次迭代中最終定稿。在這次迭代中,A 和 B 都簽署了該文檔,並設定了"僅表單欄位編輯"權限。 這意味著允許填寫 PDF 文件中的表單字段,但對文件的任何其他更改將使他們的簽名無效。

在上面的例子中,我們可以假設 C 先生填寫了表格並將其發回給 A、B 和 D 先生,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 函式庫?

IronPDF 函式庫可從 NuGet 套件儲存庫下載,網址為:https://nuget.org/packages/IronPdf/。

IronPDF 是否與 .NET 10 相容,修訂歷史的運作方式是否相同?

是的。IronPDF 與 .NET 10 完全相容,修訂歷史功能如 SaveAsRevision, GetRevision, 增量儲存和追蹤變更在 .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 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 16,493,056 | Version: 2025.11 剛發表