C#でPDFの改訂履歴を保存・編集する方法
IronPDFはC#開発者がリビジョン履歴を使ってPDFドキュメントの変更を追跡・管理することを可能にします。 ドキュメントの反復をGetRevisionで以前のバージョンにロールバックします。
C#アプリケーションでIronPDFを使用してPDFのリビジョンを管理、保存します。 このガイドは、IronPDFのSaveAsRevisionメソッドを使用してPDFの変更を追跡および管理するためのドキュメントバージョンの保存を示しています。 PDFファイルをロードし、すべての変更をアーカイブするために別のリビジョンとして保存します。
-
1Install IronPDF with NuGet Package Manager
-
2このコード スニペットをコピーして実行します。
var pdf = IronPdf.PdfDocument.FromFile("example.pdf"); pdf.SaveAsRevision("revision1.pdf");C# -
3実際の環境でテストするためにデプロイする
今日プロジェクトで IronPDF を使い始めましょう無料トライアル
- IronPDFでPDFリビジョン履歴を保存および編集するためのC#ライブラリをダウンロード
SaveAsRevisionメソッドを使用してPDFバージョンを保存します。GetRevisionメソッドを使用してPDFバージョンを取得します。- リビジョン数のために
RevisionCountプロパティにアクセスします。 - 中間リビジョンメタデータを管理するために
TrackChanges: ChangeTrackingModes.EnableChangeTrackingメソッドを呼び出します。 SaveAsを使用して最終PDFを保存します。
PDFリビジョン・イテレーションを保存して署名するにはどうすればよいですか?
次の例では、PDFファイルを開き、さまざまな編集を行い、保存する前に署名します。 署名の許可については、将来の編集としてフォーム入力のみを許可します; それ以外では、他の編集によって署名が無効になります。
その後、履歴にリビジョンを保存し、新しいドキュメントをディスクに保存するためにSaveAsRevisionを呼び出します。 このアプローチは、文書の完全性と監査証跡が重要なエンタープライズ・アプリケーションで、デジタル署名ワークフローを実装する際に役立ちます。
PDFエクスポートのパフォーマンスを向上させるために、TrackChangesオプションをfalseに設定します。 増分保存機能を使用するには、このオプションを true に設定する必要があります。)}]
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")ChangeTrackingModes.EnableChangeTrackingパラメータは、完全な監査証跡を維持するために不可欠です。 IronPDFを有効にすると、すべてのドキュメントの変更が別々のレイヤーとして保存され、ドキュメントの履歴をナビゲーションできるようになります。 この機能は、PDFのセキュリティと権限と統合され、許可されたユーザーだけが特定のリビジョンにアクセスできるようにします。
なぜ署名にはインクリメンタル セーブを理解することが重要なのですか?
Chromeブラウザのように1つのバージョンしか表示しないビューアもありますが、PDFファイルは、Gitのコミット履歴と同様に、ドキュメントの過去のバージョンを保存することができます。 Adobe Acrobatのような高度なPDFビューアでは、このように表示されます。 署名付きPDFを扱うとき、このインクリメンタルな保存メカニズムを理解することは非常に重要です。
PDF署名を扱う場合、PDFへの署名はPDFの現在の反復に適用されることを知っておいてください。 PDFには、旧版の署名があるか、署名のないバージョンがあるかもしれません。 以下のように例を視覚化できます:
| PDFドキュメントのイテレーション | 認定証A | 認定証B | 証明書 C# | 証書D |
|---|---|---|---|---|
| 0 (最初の保存) | ||||
| 1 | ||||
| 2 | ||||
| 3 | (フォームフィールドの編集のみ) | (フォームフィールドの編集のみ) | ||
| 4 (フォームフィールドのみ編集) | ||||
| 5 | (これ以上の編集はできません) | (これ以上の編集はできません) | (これ以上の編集はできません) |
上記は、6回の反復を経た文書です。 このドキュメントは、3の反復で最終化されるまで、会社の部門間で承認とともに渡される場合があります。 この反復では、許可"フォームフィールドの編集のみ設定"で、Person AとPerson Bの両方が署名しました。 つまり、PDF文書のフォームフィールドに記入することは許可されますが、文書にその他の変更を加えると、その署名は無効になります。
上記の例では、C#がフォームに記入し、A、B、Dに送り返したとします。 この文書では無効化処理は行われていないので、IronPDFの署名メソッドを実行するとtrueが得られます。
このインクリメンタル セーブ アプローチは、包括的な PDF セキュリティ機能と組み合わせると、各署名が適用された特定のドキュメントの状態でのみ有効であることを保証するため、価値があります。 これは、すべての変更の完全な監査証跡を維持しながら、不正な変更を防ぐことができます。
古いリビジョンにロールバックするには?
PDFの前のリビジョンにロールバックするには、GetRevisionメソッドを使用します。 これにより、このリビジョン以降の変更、含まれる新しい署名を含むすべての変更が忘れられます。 この機能は、望ましくない変更から回復する必要がある場合や、時間の経過とともにドキュメントの進化を確認する場合に不可欠です。
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")GetRevisionメソッドは、指定されたリビジョン番号までのコンテンツのみを含む新しいPDFドキュメントインスタンスを作成します。 以下のような場面で役立ちます:
- 異なるバージョンのドキュメントを比較する必要がある
- 不正な変更により署名が無効になりました。
- 異なる承認ワークフローのために、以前のバージョンから分岐したい。
- 特定の時点におけるドキュメントの状態を示すことで、コンプライアンスを実証する必要があります。
リビジョンで作業する場合、ロールバックしても元のPDFファイルには影響しません。 このアプローチでは、データの整合性を維持しながら、文書のバージョンを柔軟に管理できます。 より高度なPDF操作のテクニックについては、IronPDFの包括的な編集機能をご覧ください。
PDFの改訂を管理するためのベストプラクティス
アプリケーションにリビジョン履歴を実装する場合は、以下のベストプラクティスを考慮してください:
- 常に変更追跡を有効にする: リビジョン履歴が必要なPDFを開く際に
EnableChangeTrackingを設定します。
2.改訂戦略を文書化する:特にマルチユーザー環境では、いつ、なぜリビジョンが保存されるかについて、明確な文書を維持しましょう。
3.アクセス制御を実装する:PDFの権限とパスワードとリビジョン履歴を組み合わせて、許可されたユーザーだけが特定のリビジョンを作成したりアクセスできるようにします。
4.定期的なエクスポート:定期的に重要なリビジョンを別ファイルにエクスポートし、長期保存します。
5.署名の互換性をテストする: 予期せぬ無効を避けるために、異なる署名のパーミッションがリビジョンワークフローとどのように相互作用するかをテストします。
これらのプラクティスに従い、IronPDFのリビジョン管理機能を活用することにより、共同作業プロセス全体で監査トレイルを完全に維持しながら、文書の完全性を確保する高度なワークフローを作成できます。 アプリケーションにこれらの機能を実装するための詳細については、包括的なIronPDFドキュメントを参照するか、ライセンスオプションを検索してください。
よくある質問
C#でPDFのリビジョンを保存するには?
C#でPDFのリビジョンを保存するにはIronPDFのSaveAsRevisionメソッドを使用します。PDF文書を読み込み、pdf.SaveAsRevision('revision1.pdf')を呼び出すだけで、文書に加えられたすべての変更を追跡する保存版が作成されます。
PDFの改訂履歴を追跡する目的は何ですか?
IronPDFのリビジョン履歴機能により、開発者はドキュメントの変更履歴を追跡することができ、GetRevisionメソッドを使用して以前のバージョンにロールバックすることができるコラボレーションワークフローを実現することができます。これはエンタープライズアプリケーションの監査証跡を維持するために不可欠です。
増分保存の変更追跡を有効にするにはどうすればよいですか?
IronPDFで変更の追跡を有効にするには、TrackChangesオプションをtrueに設定し、ChangeTrackingModes.EnableChangeTrackingパラメータを使用します。これにより、すべてのドキュメントの変更が別々のレイヤーとして保存され、ドキュメントの完全な履歴をナビゲーションできるようになります。
PDFに署名し、その改訂履歴を管理することはできますか?
はい、IronPDFはリビジョン履歴を維持しながらPDFに署名することができます。文書に署名すると、その署名は現在のイテレーションに適用されます。将来の編集によって署名が無効になるのを防ぐために、フォーム入力のみといった特定の権限を設定することができます。
以前のPDFバージョンを取得する方法を教えてください。
IronPDFはPDFドキュメントの以前のバージョンを取得するGetRevisionメソッドを提供します。また、RevisionCountプロパティを使用して、ドキュメントの履歴にいくつのリビジョンが存在するかを調べることができます。
新しいリビジョンを保存すると、署名はどうなりますか?
署名後にIronPDFのSaveAsRevisionメソッドを使用すると、その署名は特定のリビジョンに対して有効です。しかし、許可された権限を超えた編集(フォーム入力など)は署名を無効にし、文書の完全性を保証します。
改訂履歴はすべてのPDFビューアで表示できますか?
IronPDFはGitのコミットと同様に完全なリビジョン履歴を保存しますが、すべてのPDFビューアがこの情報を表示するわけではありません。Chromeのような基本的なビューアは現在のバージョンしか表示しませんが、Adobe Acrobatのような高度なビューアは完全なリビジョン履歴を表示できます。
インクリメンタル保存はどのようにPDFのパフォーマンスを向上させますか?
IronPDFのインクリメンタル保存機能は、ドキュメント全体を書き換えるのではなく、変更点のみを保存することで書き出しのパフォーマンスを向上させます。リビジョントラッキングが不要な場合はTrackChangesをfalseに設定することでパフォーマンスを最適化することができます。
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.

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。