레이어가 있는 PDF를 주요 결과물 형식으로 사용하여 작업하는 기술 일러스트레이터와 그래픽 디자이너의 경우 시각적 직사각형이 아닌 레이어별로 수정하는 기능이 문서 전달 워크플로우를 근본적으로 변화시킵니다. 디자이너는 전용 메타데이터 레이어의 모든 클라이언트 정보가 포함된 단일 마스터 파일을 준비하고, 공개 배포를 위해 해당 레이어를 제거한 파일을 제공하고, 내부 참조를 위해 메타데이터 레이어가 그대로 유지된 마스터를 유지할 수 있습니다. 이 단일 소스 접근 방식은 문서의 내부 복사본과 공개 복사본 간의 버전 불일치 위험을 제거합니다.
편집에 대한 PDF 레이어 접근 방식은 다양한 검토자가 다양한 정보 세트에 액세스해야 하는 다중 이해관계자 프로젝트에 특히 유용합니다. 건축 도면을 검토하는 엔지니어는 모든 기술 레이어를 볼 수 있어야 하는 반면, 비용 추정자는 치수 및 수량 레이어만 필요합니다. 역할별 레이어에 교정이 적용된 단일 소스 파일은 문서 작성자가 별도의 버전을 유지하지 않고도 모든 당사자에게 서비스를 제공합니다.
GDPR, HIPAA 또는 CCPA와 같은 데이터 보호 규정이 적용되는 조직의 경우 계층별로 수정하는 기능은 추가적인 규정 준수 이점을 제공합니다. 일반 직원이 볼 수 있는 모든 비민감 레이어와 함께 문서를 배포할 수 있으며 민감한 정보 레이어는 제거되거나 교체됩니다. 동일한 소스 파일은 모든 대상 수준에 서비스를 제공하며 문서의 여러 개별 수정된 사본을 유지하는 대신 레이어 수준에서 수정이 적용됩니다. 이렇게 하면 버전 제어 오버헤드가 줄어들고 모든 수신자가 동일한 기본 문서 구조에서 작업하고 해당 정리 수준에 적합한 레이어에만 액세스할 수 있습니다.
일반적으로 레이어라고 하는 여러 선택적 콘텐츠 그룹으로 구성된 PDF 문서는 한 레이어에 텍스트 콘텐츠를, 다른 레이어에 이미지와 사진을, 세 번째 레이어에 주석과 설명을, 네 번째 레이어에 워터마크나 편지지 템플릿과 같은 배경 요소를 저장할 수 있습니다. 다른 모든 레이어를 완전히 표시하고 대화형으로 유지하면서 하나의 특정 레이어에만 있는 민감한 정보를 제거하거나 모호하게 해야 하는 경우 모든 레이어를 단일 이미지로 병합한 다음 병합된 결과 위에 불투명한 검은색 직사각형을 굽는 표준 편집 도구는 작동하지 않습니다. 레이어 구조가 파괴되고, 계속 표시되어야 하는 콘텐츠가 중요한 정보와 함께 손실됩니다. 선택적 콘텐츠 그룹 구조를 이해하고 존중하는 PDF 수정 접근 방식은 레이어별로 콘텐츠를 대상으로 지정하여 다른 모든 레이어를 온전하고 기능적으로 유지하면서 명명된 특정 OCG에서 데이터를 제거하거나 숨길 수 있습니다.
이 시나리오는 여러 전문적인 맥락에서 발생합니다. 엔지니어링 회사에서는 계층화된 PDF를 사용하여 전기, 배관 및 HVAC 오버레이의 건축 평면도를 단일 파일로 분리합니다. 제목 블록 레이어에서 기밀 클라이언트 이름을 수정해도 평면도, 치수 또는 주석 레이어에 영향을 주어서는 안 됩니다. 정부 기관은 한 레이어에는 기본 지도가 있고 다른 레이어에는 민감한 인프라 세부 정보가 포함된 계층화된 PDF를 게시합니다. 다국어 출판사는 각 번역을 자체 레이어에 저장합니다. 모든 경우에 교정은 수술적이어야 합니다. 즉, 하나의 레이어로만 제한됩니다.

PDF 선택적 콘텐츠 그룹이 콘텐츠를 독립적으로 저장하는 방법
선택적 콘텐츠 그룹은 PDF 버전 1.5에 도입되었으며 이제 ISO 32000 표준(Adobe, "PDF 참조 1.7", 2006)에 완전히 통합되었습니다. 각 OCG는 뷰어 애플리케이션이 사용자 재량에 따라 켜거나 끌 수 있는 논리적으로 독립적인 페이지 콘텐츠 모음입니다. 문서 카탈로그에는 모든 OCG를 이름별로 나열하고 각 OCG를 이에 속한 콘텐츠 스트림 개체에 매핑하는 OCProperties 사전이 포함되어 있습니다. 페이지는 여러 콘텐츠 스트림을 참조할 수 있으며 각 스트림은 하나 이상의 OCG에 속하는 것으로 태그가 지정될 수 있습니다.
각 레이어의 콘텐츠는 PDF 개체 구조 내의 개별적이고 식별 가능한 콘텐츠 스트림 개체에 저장되므로 다른 레이어에 저장된 데이터에 영향을 주지 않고 한 레이어의 콘텐츠를 편집, 수정 또는 완전히 제거하는 것이 기술적으로 가능합니다. OCG 아키텍처를 이해하는 PDF 수정 도구는 대상 레이어와 연결된 콘텐츠 스트림을 이름으로 찾아 해당 특정 스트림만 제거하거나 교체할 수 있습니다. 그러나 OCG 경계를 무시하는 표준 교정 도구는 일반적으로 교정 표시를 적용하기 전에 표시되는 모든 레이어를 단일 렌더링된 비트맵 이미지로 병합합니다. 이 병합 단계는 모든 레이어를 영구적으로 병합하고 원래 레이어 구성을 파괴합니다.
PDF 편집을 사용해 보세요
설치가 필요하지 않습니다. 브라우저에서 직접 작동합니다.
수정할 정보가 포함된 레이어 식별
수정을 수행하기 전에 제거할 콘텐츠가 포함된 OCG 이름 또는 식별자를 정확히 확인해야 합니다. 사용자 인터페이스에 레이어 패널을 표시하는 뷰어에서 PDF를 엽니다. Adobe Acrobat Pro, Foxit PDF Editor, Bluebeam Revu 및 여러 오픈 소스 PDF 뷰어는 일반적으로 왼쪽 사이드바 패널에 전환 가능한 레이어 목록을 표시합니다. 페이지 표시에서 어떤 콘텐츠가 사라지는지 관찰하면서 각 레이어를 한 번에 하나씩 해제합니다. 각 레이어 이름을 시각적 콘텐츠에 매핑합니다. 대문자, 공백, 특수 문자를 포함하여 패널에 나타나는 정확한 OCG 이름 문자열을 기록하세요.
프로그래밍 방식으로 식별하려면 '-struct' 플래그가 있는 'pdfinfo' 또는 pikepdf 라이브러리를 사용하는 Python 스크립트와 같은 PDF 구조 검사 도구를 사용하세요. 문서 카탈로그 내부의 OCProperties 사전은 각 OCG 이름을 해당 레이어에 속하는 콘텐츠 스트림 개체 참조 목록에 매핑합니다. pikepdf의 'pdf.Root.OCProperties' 코드는 전체 OCG 구조를 반환하며, 이를 탐색하여 레이어 이름을 관련 콘텐츠 스트림과 일치시킬 수 있습니다.
각 페이지에서 대상 계층 콘텐츠 스트림을 제거하여 수정
가장 정확한 방법은 페이지의 콘텐츠 배열에서 대상 OCG에 속하는 콘텐츠 스트림 개체만 삭제하는 것입니다. 이 접근 방식에는 문서 카탈로그에서 OCG-콘텐츠 매핑을 읽고, 대상 레이어 이름과 연결된 모든 콘텐츠 스트림 개체 참조를 식별하고, 각 페이지의 콘텐츠 스트림 목록에서 해당 특정 개체 참조를 제거할 수 있는 도구 또는 스크립트가 필요합니다. 다른 모든 콘텐츠 스트림은 그대로 유지되며 계속해서 정상적으로 렌더링됩니다. Python의 pikepdf 라이브러리는 Java 기반 Apache PDFBox 라이브러리와 마찬가지로 이러한 객체 수준 조작을 기본적으로 지원합니다.
아래 표에서는 레이어가 있는 PDF에 사용 가능한 교정 접근 방식을 비교합니다.
| 방법 | 레이어 보존 | 제거 정밀도 | 필요 스킬 레벨 |
|---|---|---|---|
| pikepdf / Python 스크립트 | 예, 다른 모든 레이어는 그대로 유지됩니다. | 외과적 개별 콘텐츠 스트림 제거 | 중급 Python 프로그래밍 |
| Adobe Acrobat Pro 레이어 패널 | 예, 레이어 삭제를 사용하는 경우 | 좋습니다. GUI를 통해 레이어 이름으로 제거합니다. | 기본 포인트 앤 클릭 인터페이스 |
| 병합 및 수정(표준 도구) | 아니요, 모든 레이어 조직을 파괴합니다. | 나쁨, 모든 콘텐츠를 하나의 병합된 이미지로 굽습니다. | 기본적이지만 구조에 파괴적임 |
대상 레이어 콘텐츠를 불투명 마스크로 교체하여 수정
레이어를 완전히 제거하면 특정 레이어 수 또는 명명 규칙에 의존하는 다운스트림 작업 흐름이 중단되는 상황에서 대체 기술은 대상 레이어의 콘텐츠를 동일한 치수의 불투명 직사각형으로 바꿉니다. 교체 개체는 동일한 이름의 OCG 내부에 유지되므로 레이어 토글은 뷰어에서 계속 작동하지만 해당 레이어에 저장된 민감한 콘텐츠는 빈 마스크로 대체되었습니다. 나중에 시청자가 제거할 수 있는 블랙박스 오버레이는 사용되지 않습니다. 원본 콘텐츠 데이터는 콘텐츠 스트림에서 영구적으로 삭제되고 대체됩니다.
이 접근 방식은 CAD 또는 BIM 소프트웨어에서 특정 이름을 가진 고정된 레이어 세트가 필요한 엔지니어링 및 건축 문서에 특히 효과적입니다. 레이어를 완전히 제거하면 제작 응용 프로그램에서 파일을 다시 열 때 오류나 경고가 발생합니다. 레이어 컨테이너 자체를 유지하면서 레이어 내의 중요한 콘텐츠를 교체하면 보안 요구 사항과 소프트웨어 호환성 요구 사항이 모두 충족됩니다.
민감한 콘텐츠가 다른 레이어로 유출되지 않았는지 확인
실제 PDF의 콘텐츠 태그 지정은 레이어 패널에서 제안하는 것만큼 깔끔하지 않습니다. 저작 응용 프로그램이 논리적으로 주석 계층에 속하는 텍스트 개체를 주석별 콘텐츠 스트림 대신 기본 콘텐츠 스트림에 기록했을 수 있습니다. 교정된 문서를 마무리하기 전에 대상 교정 레이어를 제외한 모든 레이어를 끄고 민감한 콘텐츠가 보기에서 완전히 사라지는지 확인하세요. 그런 다음 텍스트 추출 도구나 압축되지 않은 PDF 데이터에 대해 'grep'과 같은 명령을 사용하여 전체 PDF의 원시 텍스트 콘텐츠를 검색합니다. 민감한 텍스트 문자열의 일부가 검색 결과에 나타나는 경우 해당 데이터는 대상 레이어 외부 어딘가에 존재하며 별도의 추가 수정 단계가 필요합니다.
WukongPDF의 PDF 수정 도구는 콘텐츠 스트림 수준에서 작동하며 문서에서 레이어 구조가 식별되면 이름으로 특정 선택적 콘텐츠 그룹을 대상으로 지정할 수 있습니다. 교정은 선택한 레이어 내에서만 적용되며 출력 문서에 있는 다른 모든 레이어의 가시성과 상호 작용성은 유지됩니다.
법적, 규제 또는 개인 정보 보호와 관련된 문서의 경우 제거된 콘텐츠가 문서의 메타데이터 스트림, 부분 정보 사전, 포함된 축소판 또는 페이지 미리 보기 이미지에 없는지 확인하십시오. 완전한 검증 패스에는 이러한 저장 위치 5개를 모두 확인하는 것이 포함됩니다. 계층화된 콘텐츠와 편집 요구 사항을 결합한 PDF에는 렌더링된 픽셀 수준이 아닌 개체 모델 수준에서 작동하는 도구가 필요합니다. 이름으로 올바른 대상 OCG를 식별하고, 해당 레이어의 콘텐츠 스트림만 제거하거나 교체한 다음, 대상 레이어 외부에 잔여 데이터가 유지되지 않는지 철저하게 확인하면 나머지 모든 레이어가 완전한 기능, 대화형 및 보기 가능 상태로 유지되는 수정된 PDF가 생성됩니다.
PDF 편집을 사용해 보세요
설치가 필요하지 않습니다. 브라우저에서 직접 작동합니다.
