Comment enregistrer et modifier l'historique des révisions d'un PDF

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

L'historique des révisions PDF est une fonctionnalité qui permet de suivre et de gérer les modifications apportées à un document PDF au fil du temps. Il est souvent utilisé lorsque plusieurs utilisateurs collaborent sur un document et que vous souhaitez conserver un historique des révisions du document, en indiquant qui a apporté les modifications et quand.

Dans le contexte des signatures numériques, IronPDF offre la possibilité de gérer l'historique des révisions et de revenir à une version spécifique.

Commencez avec IronPDF

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer


Enregistrer et signer un PDF Itération de révision

Dans l'exemple suivant, nous ouvrons un fichier PDF, nous y apportons diverses modifications, puis nous le signons avant de l'enregistrer. Pour les autorisations de signature, nous n'autoriserons que le remplissage de formulaires en tant qu'édition future, sinon la signature sera invalidée par toute autre édition.

Nous appellerons ensuite SaveAsRevision pour enregistrer la révision dans l'historique, puis nous enregistrerons notre nouveau document sur le disque.

[{i :(Pour améliorer les performances de l'exportation PDF, nous avons défini l'option TrackChanges sur false. Cette option doit être réglée sur true (vrai) pour utiliser la fonction de sauvegarde incrémentale.)}]

: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")
VB   C#

Comprendre l'enregistrement incrémentiel des signatures

Alors que certaines visionneuses, comme le navigateur Chrome, n'affichent qu'une seule version, les fichiers PDF ont la capacité de stocker les versions précédentes du document, à l'instar d'un historique des livraisons Git. Vous verrez cela dans des visionneurs de PDF plus avancés tels qu'Adobe Acrobat.

Lorsqu'il s'agit de signatures de PDF, il est important de le savoir car l'action de signer un PDF s'applique à l'itération actuelle du PDF. Votre PDF peut comporter des signatures pour des itérations plus anciennes ou quelques versions non signées. Nous pouvons visualiser un exemple comme celui-ci :

Itération du document PDFCertificat ACertificat BCertificat C#Certificat D
(première sauvegarde)

(modification des champs du formulaire uniquement)

(modification des champs du formulaire uniquement)
(seulement les champs de formulaire édités)

(aucune autre modification n'est autorisée)

(aucune autre modification n'est autorisée)

(aucune autre modification n'est autorisée)

Ci-dessus, nous avons un document qui a fait l'objet de 6 itérations différentes. Ce document peut être transmis aux différents services d'une entreprise pour approbation jusqu'à ce qu'il soit finalisé à l'itération 3. Dans cette itération, la personne A et la personne B ont toutes deux signé le document avec l'autorisation "Modifications des champs du formulaire uniquement". Cela signifie qu'il est permis de remplir les champs du formulaire dans le document PDF, mais que toute autre modification du document invalidera leurs signatures.

Dans l'exemple ci-dessus, nous pouvons supposer que la personne C# est celle qui a rempli le formulaire et l'a renvoyé aux personnes A, B et D qui ont toutes signé le document une dernière fois avec l'autorisation "Aucune modification autorisée". Étant donné qu'aucune action d'invalidation n'a été entreprise dans ce document, lorsque nous exécutons la méthode de signature d'IronPDF, nous obtenons vrai.

Revenir à une ancienne révision

Pour revenir à une révision précédente d'un PDF, vous pouvez utiliser la méthode GetRevision. Cette opération a pour effet d'oublier toutes les modifications apportées depuis cette révision, y compris les signatures plus récentes. Pour ce faire, utilisez :

: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#