GN⁺: 손으로 PDF 텍스트를 수정하고자 하는 당신을 위한 (2020)
(gist.github.com/senderle)- PDF 텍스트 내용 수정 가이드: Adobe Acrobat과 같은 상용 도구 없이
- Mac 사용자를 위한 주요 가이드: 대부분의 Linux 배포판에서도 사용 가능한 도구 언급
- PDF에서의 텍스트 데이터 압축 저장:
qpdf
라는 명령줄 도구를 사용한 압축 해제 - 압축 해제 후 텍스트 데이터 확인: 텍스트 편집기에서 인코딩 및 특정 폰트에 연결된 상태로 확인
- PDF 내 텍스트 인코딩의 복잡성: 파일 자체에 포함된 맞춤형 인코딩을 포함한 다양한 가능한 인코딩
- 인코딩 정보 추출:
pdffonts
라는 명령줄 도구 사용 - 임베디드 인코딩과 관련된 폰트 식별 및 해당 폰트의 임베디드 인코딩 테이블 찾는 방법 예시 제공
- 인코딩 테이블: 맞춤형 인코딩 포인트를 유니코드 포인트에 매핑
- Python을 사용한 테이블 변환: 사전으로 테이블 변환 및 인코딩 및 디코딩 함수 작성
- 이러한 함수를 통한 원본 텍스트 교체: 맞춤형 인코딩된 교체 텍스트로 원본 텍스트 교체 가능
Hacker News 의견
- PDF 규격은 복잡하며 Photoshop의 레이어 블렌드 모드와 이전 내용을 수정하는 추가 내용을 포함한 다양한 기능을 지원합니다.
- PDF는 다른 "소유자"와 "사용자" 비밀번호를 가진 비밀번호 기반 암호화와 인쇄 또는 텍스트 복사를 방지하는 옵션을 포함합니다.
- 복잡한 성격에도 불구하고 PDF는 불가침한 이진 형식이 아니라 공식 사양에서 잘 설명된 다양한 유형의 객체 그래프입니다.
- mutool과 같은 도구는 PDF를 압축된 데이터가 없는 버전으로 변환하는 데 사용할 수 있어 이해하고 수정하기 쉽습니다.
- PDF는 3D 객체, JavaScript, 내장된 플래시 객체의 영화, 보이지 않는 주석, XHTML과 CSS의 하위 집합을 사용하는 위젯과 같은 다양한 기능을 지원합니다.
- 그러나 PDF는 주로 페이지 설명 형식이며 페이지의 표시를 나타내지 않고 문서 구조를 나타냅니다. 따라서 PDF가 생성된 문서를 편집하는 것이 권장됩니다.
- PDF는 주로 내용을 완벽하게 표시하거나 인쇄하는 것이 목적이므로 실제 이미지보다 적은 바이트를 차지하는 이미지 형식에 가깝습니다.
- qpdf와 RUPS와 같은 도구는 PDF의 구조를 파악하고 수정하는 데 사용할 수 있습니다.
- Firefox는 PDF에 서명하는 쉬운 방법을 제공합니다.
- PDF 규격은 방대하고 복잡하며, 수년 동안 공부한 후에도 겨우 표면을 긁은 것 같은 느낌을 받을 수 있습니다.