PDFリビジョン履歴の保存・編集方法
PDFの改訂履歴とは、時間の経過に伴ってPDFドキュメントに加えられた変更を追跡および管理する機能や能力を指します。これは通常、複数のユーザーがドキュメントを共同で作成する状況で使用され、誰がいつ変更を加えたかを含むドキュメントの改訂履歴を保持したい場合に役立ちます。
電子署名の文脈では、IronPDFはリビジョン履歴を管理し、特定のバージョンにロールバックする機能を備えています。
IronPDFを始めましょう
今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。
How to Save & Edit PDF Revision History
- IronPDFを使用してPDFリビジョン履歴を保存および編集するC#ライブラリをダウンロード
SaveAsRevision
メソッドを使用してPDFをバージョンとして保存しますGetRevision
メソッドを使用してPDFバージョンを取得します。- RevisionCount プロパティにアクセスして、リビジョンの数を取得します。
- PDFを保存およびエクスポート
PDFのリビジョンイテレーションを保存してサインする
次の例では、PDFファイルを開き、さまざまな編集を行い、保存する前に署名します。 署名の権限については、将来の編集はフォーム入力のみを許可し、それ以外の編集によって署名が無効になるようにします。
次に、SaveAsRevision
を呼び出して、リビジョンを履歴に保存し、新しいドキュメントをディスクに保存します。
[{i:(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");
署名のためのインクリメンタルセーブの理解
一部のユーザーが使用するChromeブラウザーでは1つのバージョンしか表示されないことがありますが、PDFファイルにはGitのコミット履歴に似た形でドキュメントの過去のバージョンを保存する機能があります。 これは、Adobe Acrobatのような高度なPDFビューアで確認できます。
PDF署名を扱う際、これは重要なポイントです。というのも、PDFに署名する行為は現在のPDFバージョンに適用されるからです。 お客様のPDFには、古いバージョンの署名が含まれている場合や、署名されていないバージョンがいくつか含まれている場合があります。 このような例をイメージしてください:
PDF Document Iteration | Certificate A | Certificate B | Certificate C | Certificate D |
---|---|---|---|---|
0 (first save) | ✅ | |||
1 | ||||
2 | ||||
3 | ✅ (form field edits only) |
✅ (form field edits only) |
||
4 (only form fields edited) | ✅ | |||
5 | ✅ (no further edits allowed) |
✅ (no further edits allowed) |
✅ (no further edits allowed) |
上記は、6回にわたって繰り返された文書です。 この文書は、承認を得て最終的な第3版まで会社の各部署で回覧される場合があります。この版では、Person A と Person 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");