PDFリビジョン履歴の保存・編集方法

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

PDFの改訂履歴とは、時間の経過に伴ってPDFドキュメントに加えられた変更を追跡および管理する機能や能力を指します。これは通常、複数のユーザーがドキュメントを共同で作成する状況で使用され、誰がいつ変更を加えたかを含むドキュメントの改訂履歴を保持したい場合に役立ちます。

デジタル署名の文脈において、IronPDFはリビジョン履歴を管理し、特定のバージョンにロールバックする機能を備えています。

PDF 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronPdf
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

PDF 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronPdf
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。

最初のステップ:
green arrow pointer

チェックアウト IronPDF オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、PDFをC#で変革しています。

PDF 用 C# NuGet ライブラリ nuget.org/packages/IronPdf/
Install-Package IronPdf

インストールを検討してください IronPDF DLL 直接。ダウンロードして、プロジェクトまたはGACの形式で手動でインストールしてください。 IronPdf.zip

プロジェクトに手動でインストールする

DLLをダウンロード

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.FormFillingAllowed);

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.FormFillingAllowed)

Dim pdfWithRevision As PdfDocument = pdf.SaveAsRevision()

pdfWithRevision.SaveAs("annual_census_2.pdf")
VB   C#

署名のためのインクリメンタルセーブの理解

一部のユーザーが使用するChromeブラウザーでは1つのバージョンしか表示されないことがありますが、PDFファイルにはGitのコミット履歴に似た形でドキュメントの過去のバージョンを保存する機能があります。 これは、Adobe Acrobatのような高度なPDFビューアで確認できます。

PDF署名を扱う際、これは重要なポイントです。というのも、PDFに署名する行為は現在のPDFバージョンに適用されるからです。 お客様のPDFには、古いバージョンの署名が含まれている場合や、署名されていないバージョンがいくつか含まれている場合があります。 以下のように例を視覚化することができます:

PDFドキュメントの繰り返し 証明書A 証明書 B 証明書C 証明書 D
最初の保存
1
2
3
フィールド編集のみ

フィールド編集のみ
4(編集されたフォームフィールドのみ)
5
(これ以上の編集はできません)

(これ以上の編集はできません)

(これ以上の編集はできません)

上記のドキュメントは6回の異なるバージョンを経てきました。 この文書は、承認を得て最終的な第3版まで会社の各部署で回覧される場合があります。この版では、Person A と Person 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")
VB   C#