PDF에서 주석 제거하기 - GroupDocs.Redaction for .NET
소개
PDF 파일에서 주석을 제거해야 빠르고 신뢰할 수 있나요? 법률 계약서를 정리하거나 검토자 의견을 삭제하거나 공개 배포용 문서를 준비할 때, 원하지 않는 주석은 PDF를 비전문적으로 보이게 하고 민감한 정보를 노출시킬 수 있습니다. GroupDocs.Redaction for .NET은 원본 레이아웃, 글꼴 및 이미지를 유지하면서 모든 주석을 한 줄 API로 제거할 수 있게 해줍니다. 이 튜토리얼에서는 라이브러리를 설정하고, 문서를 로드하고, 모든 주석을 삭제하고, 정리된 결과를 저장하는 방법을 명확하고 프로덕션 수준의 코드와 함께 배웁니다.
배울 내용
- .NET 프로젝트에 GroupDocs.Redaction을 설치하고 라이선스를 적용하는 방법.
- PDF에서 주석을 제거하는 단계별 지침.
- 대용량 PDF에 대한 성능 최적화 팁 및 클라우드 또는 온프레미스 솔루션 통합 아이디어.
코드로 들어가기 전에 필요한 모든 것이 준비되었는지 확인해 보세요.
빠른 답변
- GroupDocs.Redaction이 한 번의 호출로 모든 PDF 주석을 삭제할 수 있나요? 예 –
DeleteAnnotationRedaction이 모든 주석을 자동으로 제거합니다. - 지원되는 .NET 버전은 무엇인가요? .NET Core 3.1+, .NET 5, .NET 6 및 이후 버전.
- 프로덕션에 라이선스가 필요합니까? 비체험용으로는 유효한 GroupDocs.Redaction 라이선스가 필요합니다.
- 파일 크기 제한이 있나요? 라이브러리는 전체 파일을 메모리에 로드하지 않고도 최대 2 GB PDF를 처리합니다.
- 원본 레이아웃이 유지되나요? 물론입니다 – 텍스트, 이미지 및 벡터 그래픽이 레드액션 후에도 그대로 유지됩니다.
PDF에서 주석 제거란 무엇인가요?
PDF에서 주석 제거는 PDF 파일에 삽입된 모든 댓글, 하이라이트, 메모 및 마크업 객체를 자동으로 삭제하고 원본 콘텐츠만 남기는 과정을 의미합니다. 이 작업은 규정 준수, 보관 및 깔끔한 배포 워크플로에 필수적이며, 최종 문서에 검토자 의견이 포함되지 않도록 하여 법적 제출 및 공개 배포에 안전합니다.
주석 제거에 GroupDocs.Redaction을 사용하는 이유
GroupDocs.Redaction은 70개 이상의 입력 및 출력 형식을 지원하며 일반 서버 하드웨어에서 수백 페이지 PDF를 1초 미만에 처리할 수 있습니다. Adobe Acrobat이나 타사 PDF 뷰어 없이 API만으로 동작하며, 메모리 효율적인 스트리밍을 제공해 전체 문서를 RAM에 로드하지 않아도 되므로 대용량 엔터프라이즈 파일에 적합합니다.
전제 조건
시작하기 전에 다음이 준비되어 있는지 확인하세요:
- GroupDocs.Redaction for .NET – 버전 21.9 이상.
- .NET 개발 환경(Visual Studio, Rider 또는 VS Code)에서 **.NET Core 3.1+**을 타깃으로 설정.
- 기본 C# 지식 및 Windows 또는 Linux에서 파일 시스템 경로에 대한 이해.
GroupDocs.Redaction for .NET 설정
설치 방법
.NET CLI 사용:
dotnet add package GroupDocs.Redaction
패키지 관리자 콘솔:
Install-Package GroupDocs.Redaction
NuGet 패키지 관리자 UI:
“GroupDocs.Redaction”을 검색하고 최신 버전을 설치합니다.
라이선스 획득
프로덕션에서 GroupDocs.Redaction을 사용하려면 라이선스를 적용해야 합니다. 다음 중 선택하세요:
- 무료 체험: 평가용 임시 라이선스를 받습니다.
- 유료 라이선스: 무제한 사용을 위한 정식 라이선스를 구매합니다.
임시 라이선스 획득:
- GroupDocs 구매 페이지를 방문합니다.
- 화면 안내에 따라 임시 라이선스 파일을 요청합니다.
- 공식 문서에 설명된 대로 애플리케이션에 라이선스를 로드합니다.
기본 초기화 및 설정
Redactor 클래스는 모든 레드액션 작업의 핵심 진입점이며, 메모리에 로드된 단일 PDF 문서를 나타내고 레드액션 규칙을 적용하는 메서드를 제공합니다.
using GroupDocs.Redaction;
using GroupDocs.Redaction.Options;
다음은 Redactor 인스턴스를 생성하고, 라이선스를 적용하며, 이후 작업을 위한 환경을 준비하는 최소 설정 예시입니다:
string sourceFile = "path_to_your_document.docx";
using (Redactor redactor = new Redactor(sourceFile))
{
// Sample operation: this will be replaced with annotation removal.
}
PDF에서 주석을 제거하는 방법?
DeleteAnnotationRedaction은 문서에서 모든 주석 객체를 제거하는 내장 레드액션 규칙입니다. Redactor로 소스 파일을 로드하고 이 규칙을 호출해 모든 주석을 제거한 뒤, 정리된 문서를 저장하면 됩니다. 이 방식은 댓글, 하이라이트, 숨겨진 메모가 남지 않도록 보장하면서 시각적 레이아웃은 원본과 동일하게 유지됩니다.
단계 1: 파일 경로 준비
소스 PDF와 대상 파일에 대한 절대 경로나 상대 경로를 정의합니다. Path.Combine을 사용하면 플랫폼별 구분자 문제를 피할 수 있습니다.
단계 2: 문서 로드
Redactor 클래스는 GroupDocs.Redaction의 최상위 객체로, 메모리 내에 단일 PDF 파일을 나타냅니다. 인스턴스를 생성하면 파일 형식을 자동으로 검증하고 빠른 처리를 위한 내부 스트림을 준비합니다.
string sourceFile = System.IO.Path.Combine("YOUR_DOCUMENT_DIRECTORY", "Sample.docx");
using (Redactor redactor = new Redactor(sourceFile))
{
// Further operations will be performed here.
}
단계 3: 주석 제거 적용
DeleteAnnotationRedaction은 모든 주석 객체(댓글, 스탬프, 하이라이트 등)를 개별 ID를 지정하지 않아도 제거하는 내장 레드액션 규칙입니다.
redactor.Apply(new DeleteAnnotationRedaction());
단계 4: 수정된 문서 저장
저장 시 파일명에 접미사를 추가하고, 출력 형식을 선택하며, 주석 제거에 필요하지 않은 경우 PDF를 래스터화하지 않을 수 있습니다. 아래 옵션은 최적 품질을 위해 파일을 벡터 기반으로 유지합니다.
var saveOptions = new SaveOptions { AddSuffix = true, RasterizeToPDF = false };
redactor.Save(saveOptions);
실용적인 적용 사례
주석 제거는 단순한 미관상의 수정이 아니라 실제 비즈니스 문제를 해결합니다:
- 법률 문서 준비 – 계약서 서명 전에 검토자 메모를 제거합니다.
- 규제 보관 – 보관된 PDF가 최종 내용만 포함하도록 하여 규정 준수 기준을 충족합니다.
- 협업 워크플로 – 클라이언트나 외부 파트너에게 주석 없는 깨끗한 버전을 제공합니다.
- 공개 공개 – 내부 검토자의 의견 없이 연구 논문이나 보고서를 공개합니다.
성능 고려 사항
성능 최적화
- 스트림 처리: 임시 파일을 피하려면
Stream을 받는Redactor생성자를 사용합니다. - 선택적 로드: 다중 GB PDF의 경우
Redactor.LoadPageRange를 사용해 페이지를 배치 처리합니다. - 래스터화 회피: 이미지 전용 출력이 필요하지 않은 한 PDF를 벡터 기반으로 유지합니다.
리소스 사용 가이드라인
- CPU: 일반적인 주석 제거는 2.5 GHz 프로세서에서 단일 코어의 < 5 %만 사용합니다.
- Memory: 라이브러리는 데이터를 스트리밍하므로 500페이지 PDF에서도 피크 RAM 사용량이 150 MB 이하로 유지됩니다.
.NET 메모리 관리 모범 사례
Redactor를using블록으로 감싸서 관리되지 않는 리소스가 확실히 해제되도록 합니다.- 저장 작업 후 스트림을 닫아 파일 핸들을 즉시 해제합니다.
일반적인 문제와 해결책
| 증상 | 가능한 원인 | 해결 방법 |
|---|---|---|
| FileNotFoundException | 잘못된 소스 경로 | Redactor를 만들기 전에 Path.Exists로 경로를 확인하세요. |
| UnsupportedFormatException | 지원되지 않는 PDF 버전 | 파일이 표준 PDF(1.4–1.7)인지 확인하고 필요하면 GroupDocs.Redaction을 업그레이드하세요. |
| Annotations still appear | DeleteAnnotationRedaction 대신 사용자 정의 레드액션 규칙 사용 | 사용자 정의 규칙을 내장 DeleteAnnotationRedaction으로 교체하세요. |
자주 묻는 질문
Q: GroupDocs.Redaction이 1 GB보다 큰 PDF를 처리할 수 있나요?
A: 예 – 스트리밍 아키텍처가 전체 문서를 메모리에 로드하지 않고 최대 2 GB 파일을 처리합니다.
Q: 라이브러리가 숨겨진 메타데이터도 제거하나요?
A: 아니요 – DeleteAnnotationRedaction은 시각적 주석 객체만 대상합니다. 메타데이터 제거가 필요하면 MetadataRedaction을 사용하세요.
Q: 동시 요청이 많은 웹 서버에서 안전하게 실행할 수 있나요?
A: 물론입니다. 각 Redactor 인스턴스는 별도 요청에서 사용될 때 스레드‑안전합니다. 동일 인스턴스를 여러 스레드에서 공유하지 않으면 됩니다.
Q: 레드액션 후 어떤 형식으로 저장할 수 있나요?
A: PDF, DOCX, PPTX, HTML 등 GroupDocs.Redaction이 지원하는 70여 가지 형식으로 저장할 수 있습니다.
Q: 클라우드‑네이티브 앱에서 라이선스를 어떻게 적용하나요?
A: 임베디드 리소스 또는 안전한 Azure Key Vault에서 라이선스를 로드한 뒤, 애플리케이션 시작 시 License.SetLicense(stream)을 호출합니다.
결론
이제 GroupDocs.Redaction for .NET을 사용해 PDF에서 주석을 제거하는 완전한 프로덕션 워크플로를 갖추었습니다. 위 단계대로 진행하면 문서를 깔끔하고 규정 준수하게 유지하면서 온프레미스든 클라우드든 자유롭게 배포할 수 있습니다.
다음 단계
TextRedaction또는ImageRedaction과 같은 추가 레드액션 규칙을 탐색합니다.- 주석 제거와 문서 변환을 결합해 PDF‑to‑DOCX 파이프라인을 간소화합니다.
- CI/CD 파이프라인에 통합해 문서 자동 정화 프로세스를 구현합니다.
Last Updated: 2026-05-27
Tested With: GroupDocs.Redaction 21.9 for .NET
Author: GroupDocs
리소스