Jak zapisywać i edytować historię zmian plików PDF w języku C#

Jak zapisać i edytować historię poprawek PDF w C

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

IronPDF umożliwia programistom C# śledzenie i zarządzanie zmianami w dokumentach PDF w czasie za pomocą historii poprawek. Zapisz iteracje dokumentu za pomocą metody SaveAsRevision i cofnij się do poprzednich wersji z GetRevision podczas współpracy nad dokumentami.

Szybki start: Zapisuj poprawki PDF z IronPDF

Zarządzaj i zapisuj poprawki PDF za pomocą IronPDF w swoich aplikacjach C#. Ten przewodnik pokazuje, jak zapisywać wersje dokumentów za pomocą metody SaveAsRevision z IronPDF do śledzenia i zarządzania zmianami w PDF. Załaduj plik PDF i zapisz go jako oddzielną poprawkę, aby zarchiwizować wszystkie modyfikacje.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    var pdf = IronPdf.PdfDocument.FromFile("example.pdf");
    pdf.SaveAsRevision("revision1.pdf");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

as-heading:3(Minimalny Przepływ Pracy (6 kroków))

  1. Pobierz bibliotekę C# do zapisywania i edytowania historii poprawek PDF z IronPDF
  2. Użyj metody SaveAsRevision, aby zapisać wersje PDF.
  3. Pobierz wersje PDF za pomocą metody GetRevision.
  4. Uzyskaj dostęp do właściwości RevisionCount, aby uzyskać liczbę poprawek.
  5. Wywołaj metodę TrackChanges: ChangeTrackingModes.EnableChangeTracking, aby zarządzać metadanymi pośrednich poprawek.
  6. Zapisz ostateczny PDF za pomocą 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 dzwonimy do 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.

Zwróć uwagęAby poprawić wydajność eksportu PDF, ustawiamy opcję 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")
$vbLabelText   $csharpLabel

Parametr ChangeTrackingModes.EnableChangeTracking jest niezbędny, aby utrzymać pełny dziennik kontroli. 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.

Kiedy pracujesz z podpisami PDF, wiedz, że podpisanie PDF dotyczy bieżącej iteracji PDF. Twój PDF może mieć podpisy dla starszych iteracji lub mieć nienaruszone wersje. Możemy zobrazówać przykład 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. Dokument ten może być przesyłany przez działy firmy do zatwierdzenia, aż zostanie sfinalizowany przy iteracji 3. W tej iteracji zarówno Osoba A jak i Osoba B podpisali dokument z ustawionym uprawnieniem "Edytuj tylko pola 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.

Icon Quote related to Dlaczego zrozumienie zapisu przyrostowego ma znaczenie dla podpisów?

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic related to Dlaczego zrozumienie zapisu przyrostowego ma znaczenie dla podpisów?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Dlaczego zrozumienie zapisu przyrostowego ma znaczenie dla podpisów?

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle related to Dlaczego zrozumienie zapisu przyrostowego ma znaczenie dla podpisów?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Dlaczego zrozumienie zapisu przyrostowego ma znaczenie dla podpisów?

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones related to Dlaczego zrozumienie zapisu przyrostowego ma znaczenie dla podpisów?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak powrócić do starej poprawki?

Aby cofnąć się do wcześniejszej wersji 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 musisz odzyskać się od 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")
$vbLabelText   $csharpLabel

Metoda GetRevision tworzy nowe wystąpienie dokumentu PDF zawierające tylko treść do określonego numeru poprawki. To jest przydatne w scenariuszach, gdzie:

  • Musisz porównać różne wersje dokumentu
  • Podpis został unieważniony z powodu nieautoryzowanych zmian
  • Chcesz rozgałęzić się od starszej wersji dla innego przepływu zatwierdzeń
  • Musisz wykazać zgodność, 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 twoich aplikacjach rozważ te najlepsze praktyki:

  1. Zawsze włącz śledzenie zmian: Ustaw EnableChangeTracking podczas otwierania PDF-ów, które wymagają historii poprawek.

  2. Dokumentuj swoją strategię poprawek: Prowadź jasną dokumentację na temat tego, kiedy i dlaczego poprawki są zapisywane, zwłaszcza w środowiskach wieloosobowych.

  3. 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.

  4. Regularne eksporty: Okresowo eksportuj ważne poprawki do oddzielnych plików dla archiwizacji długoterminowej.

  5. Testuj zgodność podpisów: Przetestuj, jak różne uprawnienia podpisu współdziałają z twoim przepływem poprawek, aby uniknąć niespodziewanych unieważnień.

Dzięki stosowaniu tych praktyk i wykorzystaniu funkcji zarządzania wersjami IronPDF, możesz tworzyć zaawansowane przepływy pracy, które zachowują pełne ścieżki audytu, jednocześnie zapewniając integralność dokumentów podczas całego procesu współpracy. Aby uzyskać więcej informacji na temat implementacji tych funkcji w twoich aplikacjach, przejrzyj kompleksową dokumentację IronPDF lub explore opcje licencjonowania dla potrzeb twojej firmy.

Często Zadawane Pytania

Jak zapisać rewizje PDF w C#?

Możesz zapisać rewizje PDF w C# używając metody SaveAsRevision IronPDF. Po prostu załaduj swój dokument PDF i wywołaj pdf.SaveAsRevision('revision1.pdf') aby stworzyć zapisaną wersję, która śledzi wszystkie zmiany dokumentu.

Jaki jest cel śledzenia historii rewizji PDF?

Funkcja historii rewizji IronPDF pozwala deweloperom śledzić zmiany dokumentu w czasie, umożliwiając współpracę nad dokumentami, gdzie można cofnąć się do poprzednich wersji używając metody GetRevision. To jest kluczowe do utrzymania ścieżek audytowych w aplikacjach enterprise.

Jak włączyć śledzenie zmian dla zapisów inkrementalnych?

Aby włączyć śledzenie zmian w IronPDF, ustaw opcję TrackChanges na true i użyj parametru ChangeTrackingModes.EnableChangeTracking. To zachowuje wszystkie modyfikacje dokumentu jako osobne warstwy, pozwalając nawigować przez pełną historię dokumentu.

Czy mogę podpisać PDF i zachować jego historię rewizji?

Tak, IronPDF pozwala na podpisanie PDF-ów przy jednoczesnym zachowaniu historii rewizji. Kiedy podpisujesz dokument, podpis odnosi się do bieżącej iteracji. Możesz ustawić specyficzne uprawnienia, takie jak tylko wypełnianie formularzy, aby zapobiec unieważnieniu podpisu przez przyszłe edycje.

Jak mogę pobrać poprzednie wersje PDF?

IronPDF oferuje metodę GetRevision do pobierania poprzednich wersji dokumentu PDF. Możesz także użyć właściwości RevisionCount, aby określić, ile rewizji istnieje w historii dokumentu.

Co się dzieje z podpisami, kiedy zapisuję nową rewizję?

Gdy używasz metody SaveAsRevision IronPDF po podpisaniu dokumentu, podpis pozostaje ważny dla tej specyficznej rewizji. Jednak każda edycja przekraczająca dozwolone uprawnienia (jak wypełnianie formularzy) unieważni podpis, zapewniając integralność dokumentu.

Czy historia rewizji jest widoczna we wszystkich przeglądarkach PDF?

Choć IronPDF zapisuje pełną historię rewizji podobnie do commitów Git, nie wszystkie przeglądarki PDF wyświetlają tę informację. Proste przeglądarki, takie jak Chrome, pokazują tylko bieżącą wersję, podczas gdy zaawansowane przeglądarki, takie jak Adobe Acrobat, mogą wyświetlać pełną historię rewizji.

Jak zapisanie inkrementalne poprawia wydajność PDF?

Funkcja zapisywania inkrementalnego IronPDF poprawia wydajność eksportu poprzez zapisywanie tylko zmian zamiast przepisania całego dokumentu. Można zoptymalizować wydajność ustawiając TrackChanges na false, gdy śledzenie rewizji nie jest potrzebne, chociaż musi być to włączone dla zapisów inkrementalnych.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 19,936,792 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.