如何在 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. 下載用於保存和編輯 PDF 修訂歷史的 C# 庫
  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 中,停用「追蹤變更」選項可以提高 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 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

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

準備好開始了嗎?
Nuget 下載 16,154,058 | 版本: 2025.11 剛剛發布