Jak zapisać i edytować historię poprawek PDF w C
IronPDF umożliwia programistom C# śledzenie i zarządzanie zmianami w dokumentach PDF w czasie za pomocą historii poprawek. Zapisz iteracje dokumentu metodą SaveAsRevision i powróć do poprzednich wersji za pomocą GetRevision podczas współpracy nad dokumentami.
Szybki start: Zapisuj poprawki PDF z IronPDF
Zarządzaj i zapisuj poprawki PDF za pomocą IronPDF w aplikacjach C#. Ten przewodnik pokazuje, jak zapisywać wersje dokumentów za pomocą metody SaveAsRevision IronPDF, aby śledzić i zarządzać zmianami PDF. Załaduj plik PDF i zapisz go jako oddzielną poprawkę, aby zarchiwizować wszystkie modyfikacje.
-
Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf -
Skopiuj i uruchom ten fragment kodu.
var pdf = IronPdf.PdfDocument.FromFile("example.pdf"); pdf.SaveAsRevision("revision1.pdf"); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
as-heading:3(Minimalny przepływ pracy (5 kroków))
- Pobierz bibliotekę C# do zapisywania i edytowania historii poprawek PDF z IronPDF
- Użyj metody
SaveAsRevision, aby zapisać wersje PDF. - Pobierz wersje PDF za pomocą metody
GetRevision. - Uzyskaj dostęp do właściwości
RevisionCount, aby uzyskać liczbę poprawek. - Zapisz ostateczny PDF używając
SaveAs.
Jak zapisać i podpisać iterację poprawki PDF?
W poniższym przykładzie otwieramy plik PDF, dokonujemy różnych edycji, a następnie podpisujemy go przed zapisem. Dla uprawnień do popisu pozwalamy tylko na uzupełnianie formularza jako przyszłe edycje; w przeciwnym razie podpis zostanie unieważniony przez jakąkolwiek inną edycję.
Następnie wywołujemy SaveAsRevision, aby zapisać poprawkę w historii i zapisać nasz nowy dokument na dysku. To podejście jest przydatne przy implementacji cyfrowych przepływów pracy podpisu w aplikacjach korporacyjnych, gdzie integralność dokumentów i ścieżki audytu są kluczowe.
TrackChanges na false. Ta opcja musi być ustawiona na true, aby używać funkcji zapisu przyrostowego.: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")
Parametr ChangeTrackingModes.EnableChangeTracking jest kluczowy, aby zachować kompletną ścieżkę audytu. Po włączeniu IronPDF przechowuje wszystkie modyfikacje dokumentu jako oddzielne warstwy, umożliwiając nawigację przez historię dokumentu. Ta funkcja integruje się z bezpieczeństwem PDF i uprawnieniami w celu zapewnienia, że tylko autoryzowani użytkownicy mogą uzyskać dostęp do konkretnych poprawek.
Dlaczego zrozumienie zapisu przyrostowego ma znaczenie dla podpisów?
Chociaż niektórzy przeglądający, jak przeglądarka Chrome, pokazują tylko jedną wersję, pliki PDF mogą przechowywać poprzednie wersje dokumentu, podobnie jak historia zatwierdzeń Git. Zobaczysz to w zaawansowanych przeglądarkach PDF, takich jak Adobe Acrobat. Zrozumienie tego mechanizmu zapisu przyrostowego jest kluczowe przy pracy z podpisanymi PDF ponieważ każdy podpis dotyczy konkretnego stanu dokumentu.
Podczas pracy z podpisami PDF należy pamiętać, że podpisanie PDF dotyczy bieżącej iteracji PDF. Dokument PDF może mieć podpisy dla starszych iteracji lub mieć nienaruszone wersje. Można to zobrazować jak poniżej:
| Iteracja dokumentu PDF | Certyfikat A | Certyfikat B | Certyfikat C | Certyfikat D |
|---|---|---|---|---|
| 0 (pierwszy zapis) | ||||
| 1 | ||||
| 2 | ||||
| 3 | (tylko edycje pól formularza) |
(tylko edycje pól formularza) |
||
| 4 (tylko edytowano pola formularzy) | ||||
| 5 | (brak dalszych edycji dozwolonych) |
(brak dalszych edycji dozwolonych) |
(brak dalszych edycji dozwolonych) |
Powyżej mamy dokument, który przeszedł 6 iteracji. Ten dokument może być przesyłany między działami firmy z zatwierdzeniem, aż do finalizacji na iteracji 3. W tej iteracji zarówno Osoba A, jak i Osoba B podpisali dokument z ustawieniem uprawnienia "Tylko edycje pól formularzy". Oznacza to, że wypełnianie pól formularzy w dokumencie PDF jest dozwolone, ale jakakolwiek inna zmiana dokumentu unieważni ich podpisy.
W powyższym przykładzie załóżmy, że Osoba C wypełniła formularz i przesłała go z powrotem do Osób A, B i D, które wszystkie podpisały dokument ostatni raz z ustawieniem uprawnienia "Brak dozwolonych edycji". Ponieważ w tym dokumencie nie podjęto żadnych działań unieważniających, kiedy uruchamiamy metodę podpisu IronPDF, uzyskujemy true.
To podejście do zapisu przyrostowego jest cenne, gdy jest połączone z kompleksowymi funkcjami bezpieczeństwa PDF, ponieważ zapewnia, że każdy podpis pozostaje ważny tylko dla specyficznego stanu dokumentu, do którego został zastosowany. To zapobiega nieautoryzowanym modyfikacjom, jednocześnie zachowując kompletną ścieżkę audytu wszystkich zmian.
Jak powrócić do starej poprawki?
Aby powrócić do poprzedniej poprawki PDF, użyj metody GetRevision. To pozwoli zapomnieć o wszelkich zmianach dokonanych od tej poprawki, w tym o nowszych podpisach. Ta funkcjonalność jest niezbędna, gdy konieczne jest odzyskanie stanu sprzed niechcianych zmian lub podczas przeglądania ewolucji dokumentu w czasie.
: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")
Metoda GetRevision tworzy nową instancję dokumentu PDF zawierającą tylko zawartość do określonego numeru poprawki. To jest przydatne w scenariuszach, gdzie:
- Konieczne jest porównanie różnych wersji dokumentu
- Podpis został unieważniony z powodu nieautoryzowanych zmian
- Konieczne jest rozgałęzienie od starszej wersji dla innego przepływu zatwierdzeń
- Konieczne jest wykazanie zgodności, pokazując stan dokumentu w określonym momencie
Podczas pracy z poprawkami, cofanie się nie wpływa na oryginalny plik PDF – tworzy nową instancję dokumentu. To podejście utrzymuje integralność danych, jednocześnie zapewniając elastyczność w zarządzaniu wersjami dokumentów. Dla bardziej zaawansowanych technik manipulacji PDF, zapoznaj się z kompleksowymi możliwościami edycyjnymi IronPDF.
Najlepsze praktyki dotyczące zarządzania poprawkami PDF
Podczas implementacji historii poprawek w aplikacjach należy rozważyć te najlepsze praktyki:
-
Zawsze włączaj śledzenie zmian: Ustaw
TrackChanges: ChangeTrackingModes.EnableChangeTrackingpodczas otwierania PDF-ów, które wymagają historii poprawek. -
Dokumentuj swoją strategię poprawek: Prowadź jasną dokumentację na temat tego, kiedy i dlaczego poprawki są zapisywane, zwłaszcza w środowiskach wieloosobowych.
-
Wprowadź kontrolę dostępu: Połącz historię poprawek z uprawnieniami PDF i hasłami w celu zapewnienia, że tylko autoryzowani użytkownicy mogą tworzyć lub uzyskiwać dostęp do określonych poprawek.
-
Regularne eksporty: Okresowo eksportuj ważne poprawki do oddzielnych plików dla archiwizacji długoterminowej.
- Testuj zgodność podpisów: Przetestuj, jak różne uprawnienia podpisu współdziałają z przepływem poprawek, aby uniknąć niespodziewanych unieważnień.
Przestrzegając tych praktyk i korzystając z funkcji zarządzania poprawkami IronPDF, można tworzyć zaawansowane przepływy pracy z dokumentami, które utrzymują kompletne ścieżki audytu, jednocześnie zapewniając integralność dokumentów w całym procesie współpracy. Aby uzyskać więcej informacji na temat implementacji tych funkcji, przejrzyj kompleksową dokumentację IronPDF lub sprawdź opcje licencjonowania dla potrzeb firmy.
Często Zadawane Pytania
How do I save PDF revisions in C#?
You can save PDF revisions in C# using IronPDF's SaveAsRevision method. Simply load your PDF document and call pdf.SaveAsRevision('revision1.pdf') to create a saved version that tracks all modifications made to the document.
What is the purpose of tracking PDF revision history?
IronPDF's revision history feature allows developers to track document changes over time, enabling collaboration workflows where you can roll back to previous versions using the GetRevision method. This is essential for maintaining audit trails in enterprise applications.
How do I enable change tracking for incremental saves?
To enable change tracking in IronPDF, set the TrackChanges option to true and use ChangeTrackingModes.EnableChangeTracking parameter. This preserves all document modifications as separate layers, allowing navigation through the document's complete history.
Can I sign a PDF and maintain its revision history?
Yes, IronPDF allows you to sign PDFs while maintaining revision history. When you sign a document, the signature applies to the current iteration. You can set specific permissions like form-filling only to prevent the signature from being invalidated by future edits.
How do I retrieve previous PDF versions?
IronPDF provides the GetRevision method to retrieve previous versions of a PDF document. You can also use the RevisionCount property to determine how many revisions exist in the document's history.
What happens to signatures when I save a new revision?
When using IronPDF's SaveAsRevision method after signing a document, the signature remains valid for that specific revision. However, any edits beyond the allowed permissions (like form-filling) will invalidate the signature, ensuring document integrity.
Is revision history visible in all PDF viewers?
While IronPDF saves complete revision history similar to Git commits, not all PDF viewers display this information. Basic viewers like Chrome show only the current version, while advanced viewers like Adobe Acrobat can display the full revision history.
How does incremental saving improve PDF performance?
IronPDF's incremental saving feature improves export performance by only saving changes rather than rewriting the entire document. You can optimize performance by setting TrackChanges to false when revision tracking isn't needed, though this must be enabled for incremental saves.

