Cómo guardar y editar el historial de revisiones de PDF
El historial de revisiones de PDF hace referencia a una función o capacidad que permite realizar un seguimiento y gestionar los cambios realizados en un documento PDF a lo largo del tiempo. Suele utilizarse en situaciones en las que varios usuarios colaboran en un documento y se desea mantener un registro de las revisiones del documento, incluido quién realizó los cambios y cuándo.
En el contexto de las firmas digitales, IronPDF permite gestionar el historial de revisiones y volver a una versión específica.
Comience con IronPDF
Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.
How to Save & Edit PDF Revision History
- Descargue la biblioteca C# para guardar y editar el historial de revisiones de PDF con IronPDF
- Utilice el método
SaveAsRevision
para guardar el PDF como versiones - Recupere las versiones PDF utilizando el método
GetRevision
- Acceda a la propiedad RevisionCount para obtener el conteo de revisiones
- Guarda y exporta tu PDF
Guardar y firmar una iteración de revisión en PDF
En el siguiente ejemplo, abrimos un archivo PDF, realizamos varias ediciones y, antes de guardarlo, lo firmamos. Para los permisos de firma, sólo permitiremos rellenar formularios como futuras ediciones, de lo contrario la firma quedará invalidada de cualquier otra edición.
Luego llamaremos a SaveAsRevision
para guardar la revisión en el historial y luego guardar nuestro nuevo documento en el disco.
[{i:(Para mejorar el rendimiento de exportación de PDFs, hemos configurado la opción TrackChanges en falso. Esta opción debe establecerse en verdadero para utilizar la función de guardado incremental.
: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");
Comprender el ahorro incremental para las firmas
Mientras que algunos visores, como el navegador Chrome, sólo muestran una versión, los archivos PDF tienen la capacidad de almacenar versiones anteriores del documento, de forma similar al historial de commits de Git. Lo verá en visores de PDF más avanzados, como Adobe Acrobat.
Cuando se trata de firmas de PDF, es importante saber esto porque la acción de firmar un PDF se aplica a la iteración actual del PDF. Su PDF puede tener firmas de iteraciones anteriores, o puede tener algunas versiones sin firmar. Podemos visualizar un ejemplo como este:
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) |
Arriba tenemos un documento que ha pasado por 6 iteraciones diferentes. Este documento puede estar pasando por los departamentos de una empresa con aprobación hasta ser finalizado en la iteración 3. En esta iteración, tanto la Persona A como la Persona B firmaron el documento con el permiso "Sólo edición de campos de formulario". Esto significa que se permite rellenar los campos del formulario en el documento PDF, pero cualquier otro cambio en el documento invalidará sus firmas.
En el ejemplo anterior, podemos suponer que la Persona C es la que ha rellenado el formulario y lo ha enviado de vuelta a las Personas A, B y D, que han firmado el documento una última vez con el permiso "No se permiten ediciones". Dado que no se realizaron acciones que invaliden este documento, cuando ejecutemos el método de firma de IronPDF, obtendremos true.
Volver a una revisión anterior
Para revertir a una revisión anterior de un PDF, puedes usar el método GetRevision
. Esto olvidará cualquier cambio realizado desde esta revisión, incluidas las firmas más recientes. Para ello, utilice:
: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");