PDF 문서 (.pdf)
ISO 표준PDF(Portable Document Format)는 응용 프로그램 소프트웨어, 하드웨어, 운영 체제에 구애받지 않고 문서를 일관되게 표현하도록 설계된 보편적인 디지털 문서 표준입니다.
PDF을(를) JPG(으)로 변환
무료 브라우저 내 PDF에서 JPG로 변환하는 도구입니다. 기기에서 파일을 즉시 변환할 수 있습니다.
PDF 온라인 압축
비공개 - 파일은 기기를 벗어나지 않습니다
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 PDF 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 PDF 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
25 50 44 46ASCII 표현: %PDF
표준화: ISO 32000-1 (2008) / ISO 32000-2 (2020)
기술 사양
| 컨테이너 아키텍처 | 교차 참조 테이블이 포함된 바이너리/ASCII 하이브리드 객체 계층 구조 |
| 압축 | FlateDecode (Deflate), DCTDecode (JPEG), CCITT Fax, JBIG2, JPXDecode |
| 바이트 엔디안 | 바이너리 객체 스트림을 위한 빅 엔디안(네트워크 바이트 순서) |
| 색 공간 | sRGB, Display P3, DeviceCMYK, Grayscale, 별색 (팬톤) |
| 채널 및 구조 | 다중 레이어 벡터, 타이포그래피, 래스터 스트림 및 임베디드 메타데이터 |
| 최대 크기 | 200 x 200 인치 (PDF 1.6 이상에서는 UserUnit을 통해 최대 15,000,000 인치 지원) |
| 투명도 | 전체 알파 투명도, 혼합 모드 및 불투명도 마스크 |
| 스트리밍 및 프로그레시브 | 선형화된 PDF('빠른 웹 보기')를 통해 HTTP Range 요청을 이용한 바이트 범위 스트리밍 지원 |
기술 비교 매트릭스: PDF 대 경쟁사
| 기술적 속성 | PDF (현재) | DOCX | EPUB | HTML5 |
|---|---|---|---|---|
| 시각적 레이아웃 충실도 | 레이아웃 보존에 도움이 되지만 렌더링 결과는 뷰어와 출력 장치에 따라 달라집니다. | 흐름 기반; Word 버전 및 설치된 글꼴에 따라 다름 | 재배치 가능한 리더 레이아웃; 고정된 타이포그래피 보장 없음 | 유동적인 CSS 상자 모델; 화면 종속적 렌더링 |
| 자체 완결성 | 글꼴, 래스터 스트림 및 벡터 자산을 내장해 100% 독립적으로 사용 가능 | 독립형 XML 컨테이너 (시스템 글꼴은 일반적으로 내장되지 않음) | 독립형 ZIP 컨테이너 (패키지된 XHTML/CSS 자산) | MHTML을 통해 패키지되지 않은 경우 외부 HTTP 리소스 필요 |
| 암호학적 서명 | ISO 사양에 내장된 기본 PAdES 및 X.509 암호학적 디지털 서명 | Office XML DSig 디지털 서명 지원 | 사용자 지정 디지털 컨테이너 서명 필요 | Web Crypto API 또는 외부 TLS 전송 보장 필요 |
| 모바일 대응성 | 고정 페이지 캔버스 (작은 화면에서 확대/축소 및 패닝 필요) | 우수한 반응형 텍스트 재배치 | 유동적인 모바일 전자책 읽기를 위해 특별히 설계됨 | CSS 미디어 쿼리를 사용한 네이티브 반응형 레이아웃 |
| 표준화 | 개방형 국제 표준 (ISO 32000-2:2020) | ECMA-376 / ISO/IEC 29500 | W3C / IDPF 공개 표준 | W3C 살아 있는 표준 / WHATWG |
일반적인 손상 모드 및 헥스 복구 가이드
Acrobat 또는 PDF 뷰어가 '파일이 손상되어 복구할 수 없습니다'라는 메시지를 표시하거나 완전히 빈 화면으로 열림.
근본 원인: ASCII 모드에서의 FTP 또는 HTTP 전송이 바이너리 바이트 시퀀스를 변환하여(0x0A를 0x0D 0x0A로 교체), 교차 참조(xref) 테이블 바이트 오프셋이 손상됨.
복구: 최신 PDF 복구 유틸리티(예: qpdf --repair 또는 File2File.app 복구)를 사용하면 파일을 선형으로 다시 스캔하고, 객체 딕셔너리를 재구축하며, 새 xref 테이블을 재생성할 수 있습니다.
PDF 뷰어가 문서를 로드하지 못하거나 마지막 페이지에서 중단됨.
근본 원인: '%%EOF' 마커와 트레일러 딕셔너리가 누락된 채 다운로드가 중단되거나 디스크 쓰기가 불완전하게 완료됨.
복구: 'tail -c 128 document.pdf'를 사용하여 파일 끝부분을 검사함. %%EOF가 누락된 경우 루트 카탈로그 객체가 존재하는지 확인하고, 유효한 가장 높은 객체 번호를 가리키는 인공 xref 테이블을 추가함.
내장된 글꼴이 읽을 수 없는 기호, 빈 블록(.notdef) 또는 물음표로 렌더링됨.
근본 원인: 원인은 보기 기기에 없는 시스템 글꼴을 참조하는 미포함 서브셋 글꼴 또는 손상된 ToUnicode CMap 테이블입니다.
복구: Ghostscript(gs -o fixed.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true broken.pdf)를 통해 누락된 글꼴 서브셋을 다시 내장하거나 텍스트 요소를 벡터 곡선으로 변환.
보안 분석 및 파서 공격 벡터
PDF는 활성 스크립팅, 임베디드 파일, 동적 스트림을 특징으로 하는 컴퓨팅 분야에서 가장 복잡한 형식 중 하나입니다. 최신 브라우저는 격리된 프로세스에서 PDF 렌더러(예: Chrome PDFium)를 샌드박스 처리합니다.
알려진 공격 벡터
- 문서 열기 시 임의의 코드나 피싱 공격을 실행하는 임베디드 Acrobat JavaScript(JS API).
- 외부 시스템 바이너리 또는 쉘 스크립트를 실행하도록 구성된 실행 동작(/Launch).
- 버퍼 오버플로를 유발하는 레거시 Type 1 및 TrueType 글꼴 파싱 엔진의 글꼴 렌더링 취약점.
- 악의적인 URI 작업(/URI) 또는 양식 제출을 통한 서버 측 요청 위조(SSRF) 및 NTLM 해시 인증 정보 탈취.
방어적 모범 사례: Adobe Acrobat JavaScript 실행이 활성화된 상태에서 신뢰할 수 없는 PDF를 절대 열지 마십시오. 웹에서 볼 때는 항상 브라우저 샌드박스형 WebAssembly/PDF.js 엔진을 통해 렌더링하거나, 신뢰할 수 없는 PDF를 정화된 PDF/A-1b 문서로 변환하십시오.
역사적 배경 및 주요 이력
주요 장점
- 여러 시스템에서 페이지 레이아웃을 보존하도록 설계되었지만 글꼴, 뷰어, 인쇄 설정에 따라 모양이 달라질 수 있습니다.
- 디지털 암호화 서명, 삭제 주석, DRM 접근 권한 지원.
- 벡터 그래픽, 확장 가능한 글꼴, 압축된 래스터 스트림을 하나의 독립형 컨테이너로 결합.
기술적 제한 사항 및 단점
- 고정 레이아웃 페이지 캔버스로 인해 소형 스마트폰에서 자동 반응형 텍스트 재배치가 어려움.
- 복잡한 내부 객체 스트림 계층 구조로 인해 압축 및 미참조 객체 제거를 거치지 않으면 파일 크기가 비대해질 수 있음.
- 내장된 JavaScript 및 동적 실행 작업 기능이 광범위한 공격 표면을 제공함.
흥미로운 기술적 상식
- 원래 카멜롯 프로젝트 문서는 모든 응용 프로그램에서 모든 디스플레이로 문서를 직접 전자적으로 인쇄하는 것을 구상했음.
- 모든 PDF 파일은 파일 끝 트레일러를 표시하는 정확한 문자열 '%%EOF'로 끝남.
- 전 세계 연방법원과 국가 기록원은 장기 법적 보존을 위해 PDF/A(ISO 19005)를 의무화함.
자주 묻는 기술 질문
PDF 페이지가 여러 화면과 프린터에서 비슷하게 보일 수 있는 이유는 무엇인가요?
PDF는 고정 좌표로 페이지 내용을 저장하므로 레이아웃을 보존하는 데 도움이 됩니다. 그래도 글꼴, 뷰어, 색상 관리, 프린터 설정에 따라 모양이 달라질 수 있습니다.
표준 PDF와 PDF/A는 무엇이 다릅니까?
PDF/A(ISO 19005)는 장기 보관을 위해 설계된 특수 하위 집합입니다. JavaScript, 외부 글꼴 링크, 암호화, 사운드/비디오 임베딩, 장치 종속 색상 공간과 같이 미래의 가독성을 손상시킬 수 있는 기능을 엄격히 금지합니다. 모든 글꼴과 색상 프로필은 100% 내장되어야 합니다.
최신 문서에서 PDF 압축은 어떻게 작동합니까?
PDF는 콘텐츠 유형에 맞게 조정된 여러 개의 개별 압축 필터를 사용합니다. 텍스트, 벡터 명령, 글꼴 메트릭은 FlateDecode(zlib/deflate)를 사용하여 압축됩니다. 사진 이미지는 DCTDecode(JPEG) 또는 JPXDecode(JPEG 2000)를 사용하고, 이진 단색 스캔 텍스트는 JBIG2 또는 CCITT Fax Group 4 압축을 사용합니다.
페이지나 이미지를 삭제한 뒤에도 PDF 파일이 큰 경우가 많은 이유는 무엇입니까?
PDF를 수정할 때 많은 편집기는 “증분 업데이트”를 수행합니다. 이때 이전 객체를 삭제하지 않고 파일 끝에 새 객체 스트림과 새 xref 테이블을 추가하여 실행 취소를 빠르게 할 수 있습니다. 파일 크기를 실제로 줄이려면 참조되지 않는 객체를 가비지 컬렉션하는 최적화 단계를 거쳐야 합니다.
관련 PDF 변환 쌍
PDF의 각 페이지를 게시하거나 채팅으로 보내거나 슬라이드에 삽입할 수 있는 JPG 이미지로 변환합니다. 페이지는 150 dpi로 렌더링되며, 여러 페이지로 된 PDF는 페이지마다 JPG 한 장이 들어 있는 ZIP 파일로 제공됩니다.
PDF의 각 페이지를 텍스트, 표, 다이어그램을 선명하게 볼 수 있는 무손실 PNG 이미지로 저장합니다. 페이지는 150 dpi로 렌더링되며, 여러 페이지로 된 PDF를 변환하면 페이지마다 PNG 이미지가 하나씩 담긴 ZIP 파일을 받을 수 있습니다.
PNG 스크린샷이나 다이어그램을 픽셀과 투명도를 그대로 유지한 한 페이지짜리 PDF로 공유할 수 있습니다. PDF 페이지는 고정된 이미지이며 편집 가능한 PNG 파일이 아닙니다.
JPEG 사진을 검토하거나 인쇄할 수 있도록 PDF 한 페이지에 배치합니다. 기존 이미지 데이터가 삽입되지만 PDF에서 사진을 편집할 수는 없습니다.
문서나 승인 검토를 위해 WebP 그래픽을 한 페이지짜리 PDF로 만드십시오. 브라우저에서 이미지로 다시 그리므로 WebP 데이터와 움직임은 유지되지 않습니다.
SVG 로고나 일러스트를 한 페이지짜리 PDF로 공유하십시오. 확대·축소 가능한 벡터 경로가 고정 해상도 이미지로 바뀌므로 확대해도 벡터 세부 정보를 복원할 수 없습니다.
정지 HEIC 사진을 공유하거나 양식에 사용할 수 있도록 한 페이지짜리 PDF로 변환합니다. 페이지에는 8비트 이미지 데이터가 사용되며 HEIC 시퀀스나 HDR 원본 데이터는 포함되지 않습니다.
캠페인 검토를 위해 AVIF 웹 이미지를 PDF 한 페이지에 배치합니다. 표준 캔버스 이미지로 렌더링되므로 AVIF 인코딩과 HDR 보조 데이터는 손실됩니다.