C#에서 PDF 수정 기록을 저장하고 편집하는 방법

C#에서 PDF 수정 기록을 저장하고 편집하는 방법

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

IronPDF는 C# 개발자가 수정 기록을 사용하여 PDF 문서의 변경 사항을 시간 경과에 따라 추적하고 관리할 수 있도록 지원합니다. 문서 공동 작업 시 SaveAsRevision 메서드를 사용하여 문서 반복 작업을 저장하고 GetRevision 메서드를 사용하여 이전 버전으로 되돌릴 수 있습니다.

빠른 시작: IronPDF로 PDF 수정본 저장

C# 애플리케이션에서 IronPDF를 사용하여 PDF 수정 사항을 관리하고 저장하세요. 이 가이드는 IronPDF의 SaveAsRevision 방식을 사용하여 PDF 변경 사항을 추적하고 관리하여 문서 버전을 저장하는 방법을 보여줍니다. PDF 파일을 불러와서 모든 수정 사항을 보관하기 위해 별도의 버전으로 저장하세요.

Nuget Icon지금 바로 NuGet을 사용하여 PDF 만들기를 시작하세요.

  1. NuGet 패키지 관리자를 사용하여 IronPDF를 설치하세요.

    PM > Install-Package IronPdf

  2. 다음 코드 조각을 복사하여 실행하세요.

    var pdf = IronPdf.PdfDocument.FromFile("example.pdf");
    pdf.SaveAsRevision("revision1.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    지금 바로 무료 체험판을 통해 프로젝트에서 IronPDF를 사용해 보세요.
    arrow pointer

as-heading:3(최소 워크플로우 (5단계))

  1. IronPDF를 사용하여 PDF 수정 기록을 저장하고 편집하는 C# 라이브러리를 다운로드하세요 .
  2. PDF 버전을 저장하려면 SaveAsRevision 방법을 사용하십시오.
  3. GetRevision 방법을 사용하여 PDF 버전을 검색합니다.
  4. 개정 횟수를 확인하려면 RevisionCount 속성에 접근하십시오.
  5. 최종 PDF 파일을 SaveAs를 사용하여 저장하세요.

PDF 수정본을 저장하고 서명하는 방법은 무엇인가요?

다음 예시에서는 PDF 파일을 열고, 여러 가지 편집 작업을 수행한 후, 서명하고 저장합니다. 서명 권한의 경우, 향후 수정 사항으로는 양식 작성만 허용합니다. 그렇지 않으면 이후 수정 시 서명이 무효화됩니다.

그런 다음 SaveAsRevision를 호출하여 수정 내역을 기록에 저장하고 새 문서를 디스크에 저장합니다. 이 접근 방식은 문서 무결성과 감사 추적이 중요한 기업 애플리케이션에서 디지털 서명 워크플로를 구현할 때 유용합니다.

[{i:(PDF 내보내기 성능을 향상시키기 위해 TrackChanges 옵션을 false로 설정했습니다. 증분 저장 기능을 사용하려면 이 옵션을 true로 설정해야 합니다.

: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");
$vbLabelText   $csharpLabel

ChangeTrackingModes.EnableChangeTracking 매개변수는 완전한 감사 추적을 유지하는 데 필수적입니다. IronPDF를 활성화하면 모든 문서 수정 사항이 별도의 레이어로 유지되어 문서 변경 이력을 탐색할 수 있습니다. 이 기능은 PDF 보안 및 권한 과 통합되어 승인된 사용자만 특정 버전에 접근할 수 있도록 합니다.

서명 과정에서 증분 절감 효과를 이해하는 것이 왜 중요할까요?

크롬 브라우저처럼 일부 뷰어는 한 가지 버전만 표시하지만, PDF 파일은 Git 커밋 기록처럼 이전 버전의 문서를 저장할 수 있습니다. 어도비 아크로뱃과 같은 고급 PDF 뷰어에서 이를 확인할 수 있습니다. 서명된 PDF 파일을 다룰 때는 각 서명이 특정 문서 상태에 적용되므로 이러한 점진적 저장 메커니즘을 이해하는 것이 매우 중요합니다.

PDF 서명을 다룰 때는 서명이 PDF의 현재 버전에만 적용된다는 점을 알아두세요. PDF 파일에 이전 버전의 서명이 있거나 서명이 없는 버전이 포함되어 있을 수 있습니다. 다음과 같은 예를 시각화할 수 있습니다.

PDF 문서 반복 인증서 A 인증서 B 인증서 C 인증서 D
0 (첫 번째 저장)
1
2
3
(폼 필드 수정에만 해당)

(폼 필드 수정에만 해당)
4 (양식 필드만 편집됨)
5
(더 이상 수정 불가)

(더 이상 수정 불가)

(더 이상 수정 불가)

위 문서는 6번의 수정 과정을 거친 문서입니다. 이 문서는 최종 확정 단계인 3차 수정까지 회사 내 여러 부서에 걸쳐 승인 절차를 거칠 수 있습니다. 이번 수정 단계에서는 A씨와 B씨가 "양식 필드 편집만 가능"한 권한으로 문서에 서명했습니다. 즉, PDF 문서의 양식 항목을 작성하는 것은 허용되지만, 문서의 다른 부분을 변경하면 서명이 무효화됩니다.

위 예시에서, C라는 사람이 양식을 작성하여 A, B, D라는 사람에게 보냈고, 이들은 모두 "수정 불가"라는 권한으로 최종 서명을 했다고 가정해 보겠습니다. 이 문서에서는 무효화 조치가 취해지지 않았으므로 IronPDF의 서명 메서드를 실행하면 true가 반환됩니다.

이러한 점진적 저장 방식은 포괄적인 PDF 보안 기능 과 결합될 때 유용합니다. 각 서명이 적용된 특정 문서 상태에서만 유효하게 유지되도록 보장하기 때문입니다. 이를 통해 무단 수정을 방지하는 동시에 모든 변경 사항에 대한 완벽한 감사 기록을 유지할 수 있습니다.

이전 버전으로 되돌리려면 어떻게 해야 하나요?

PDF의 이전 버전으로 되돌리려면 GetRevision 메서드를 사용하십시오. 이렇게 하면 이번 수정 이후에 발생한 모든 변경 사항(새로운 서명 포함)이 잊혀집니다. 이 기능은 원치 않는 변경 사항을 복구하거나 문서의 시간 경과에 따른 변화 과정을 검토해야 할 때 필수적입니다.

: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");
$vbLabelText   $csharpLabel

GetRevision 메서드는 지정된 개정 번호까지의 내용만 포함하는 새 PDF 문서 인스턴스를 생성합니다. 이는 다음과 같은 상황에서 유용합니다:

  • 문서의 여러 버전을 비교해야 합니다.
  • 무단 변경으로 인해 서명이 무효화되었습니다.
  • 이전 버전에서 분기하여 다른 승인 워크플로를 만들고 싶습니다.
  • 특정 시점의 문서 상태를 제시하여 규정 준수를 입증해야 합니다.

수정 작업을 할 때 되돌리기 기능을 사용해도 원본 PDF 파일에는 영향을 미치지 않고 새 문서 인스턴스가 생성됩니다. 이 접근 방식은 데이터 무결성을 유지하면서 문서 버전 관리에 유연성을 제공합니다. 보다 고급 PDF 편집 기술을 활용하려면 IronPDF의 포괄적인 편집 기능을 살펴보세요.

PDF 수정 관리를 위한 모범 사례

애플리케이션에 버전 기록 기능을 구현할 때 다음과 같은 모범 사례를 고려하십시오.

  1. 변경 내용 추적을 항상 활성화하려면 수정 내역이 필요한 PDF 파일을 열 때 TrackChanges: ChangeTrackingModes.EnableChangeTracking로 설정하십시오.

  2. 수정 전략을 문서화하세요 : 특히 다중 사용자 환경에서는 수정 사항이 저장되는 시점과 이유에 대한 명확한 문서를 유지 관리해야 합니다.

  3. 접근 제어 구현 : 수정 내역을 PDF 권한 및 암호 와 결합하여 승인된 사용자만 특정 수정본을 생성하거나 접근할 수 있도록 합니다.

  4. 정기 내보내기 : 중요한 수정 사항을 주기적으로 별도의 파일로 내보내 장기 보관하십시오.

  5. 서명 호환성 테스트 : 예기치 않은 무효화를 방지하기 위해 다양한 서명 권한이 개정 워크플로와 어떻게 상호 작용하는지 테스트하십시오.

이러한 모범 사례를 따르고 IronPDF의 개정 관리 기능을 활용하면 공동 작업 과정 전반에 걸쳐 문서 무결성을 보장하면서 완벽한 감사 추적을 유지하는 정교한 문서 워크플로를 만들 수 있습니다. 이러한 기능을 애플리케이션에 구현하는 방법에 대한 자세한 내용은 IronPDF의 종합 설명서를 참조하거나 기업 요구 사항에 맞는 라이선스 옵션을 살펴보십시오.

자주 묻는 질문

C#에서 PDF 수정 내용을 저장하는 방법은 무엇인가요?

IronPDF의 SaveAsRevision 메서드를 사용하면 C#에서 PDF 수정 버전을 저장할 수 있습니다. PDF 문서를 불러온 다음 pdf.SaveAsRevision('revision1.pdf')를 호출하면 문서에 대한 모든 수정 사항이 기록된 저장된 버전이 생성됩니다.

PDF 수정 이력을 추적하는 목적은 무엇인가요?

IronPDF의 개정 내역 기능은 개발자가 문서 변경 사항을 시간 경과에 따라 추적할 수 있도록 해주며, GetRevision 메서드를 사용하여 이전 버전으로 되돌릴 수 있는 협업 워크플로를 지원합니다. 이는 기업 애플리케이션에서 감사 추적을 유지하는 데 필수적입니다.

증분 저장에 대한 변경 내용 추적을 활성화하려면 어떻게 해야 하나요?

IronPDF에서 변경 내용 추적 기능을 활성화하려면 TrackChanges 옵션을 true로 설정하고 ChangeTrackingModes.EnableChangeTracking 매개변수를 사용하십시오. 이렇게 하면 모든 문서 수정 사항이 별도의 레이어로 유지되어 문서의 전체 변경 이력을 탐색할 수 있습니다.

PDF 파일에 서명하고 수정 내역을 유지할 수 있나요?

네, IronPDF를 사용하면 수정 이력을 유지하면서 PDF에 서명할 수 있습니다. 문서에 서명하면 해당 서명은 현재 버전에 적용됩니다. 서명이 향후 편집으로 인해 무효화되지 않도록 양식 작성 전용과 같은 특정 권한을 설정할 수 있습니다.

이전 PDF 버전을 어떻게 불러올 수 있나요?

IronPDF는 PDF 문서의 이전 버전을 검색하는 GetRevision 메서드를 제공합니다. 또한 RevisionCount 속성을 사용하여 문서 기록에 있는 수정 횟수를 확인할 수 있습니다.

새 버전을 저장하면 서명은 어떻게 되나요?

IronPDF의 SaveAsRevision 메서드를 사용하여 문서에 서명하면 해당 서명은 특정 수정 버전에 대해서만 유효합니다. 그러나 허용된 권한 범위를 벗어난 편집(예: 양식 작성)이 발생하면 서명이 무효화되어 문서의 무결성이 보장됩니다.

모든 PDF 뷰어에서 수정 내역이 표시되나요?

IronPDF는 Git 커밋과 유사하게 전체 수정 기록을 저장하지만, 모든 PDF 뷰어가 이 정보를 표시하는 것은 아닙니다. Chrome과 같은 기본 뷰어는 현재 버전만 표시하는 반면, Adobe Acrobat과 같은 고급 뷰어는 전체 수정 기록을 표시할 수 있습니다.

점진적 저장 방식은 PDF 성능을 어떻게 향상시키나요?

IronPDF의 증분 저장 기능은 문서 전체를 덮어쓰는 대신 변경 사항만 저장하여 내보내기 성능을 향상시킵니다. 수정 내역 추적이 필요하지 않은 경우 TrackChanges를 false로 설정하여 성능을 최적화할 수 있지만, 증분 저장을 사용하려면 TrackChanges를 활성화해야 합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 17,527,568 | 버전: 2026.2 방금 출시되었습니다