Cómo guardar y editar el historial de revisiones de PDF

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

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 cuenta con la capacidad de gestionar el historial de revisiones y retroceder a una versión específica.

Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

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.

A continuación, llamaremos a SaveAsRevision para guardar la revisión en el historial y luego guardar nuestro nuevo documento en el disco.

Atención
Para mejorar el rendimiento de la exportación de PDF, hemos establecido la opción TrackChanges en false. Esta opción debe estar activada para poder 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.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#

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 el siguiente:

Iteración de documentos PDFCertificado ACertificado BCertificado CCertificado D
0 (primera parada)
1
2
3
(sólo edición de campos de formulario)

(sólo edición de campos de formulario)
4 (sólo campos de formulario editados)
5
(no se permiten más ediciones)

(no se permiten más ediciones)

(no se permiten más ediciones)
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 han realizado acciones de invalidación en este documento, cuando ejecutemos el método de firma de IronPDF, obtendremos **true**. ## Volver a una revisión anterior Para volver a una revisión anterior de un PDF, puede utilizar el método `GetRevision`. Esto olvidará cualquier cambio realizado desde esta revisión, incluidas las firmas más recientes. Para ello, utilice: ```cs :path=/static-assets/pdf/content-code-examples/how-to/signing-revert-revision.cs ```