PDF

**PDF**()는 어도비가 응용 소프트웨어, 하드웨어, 운영체제에 독립적으로 텍스트 서식과 이미지를 포함한 문서를 표현하기 위해 1992년에 개발한 파일 형식이며, **ISO 32000**으로 표준화되었다. 포스트스크립트 언어를 기반으로 하며, 각 PDF 파일은 텍스트, 글꼴, 벡터 그래픽스, 래스터 그래픽스 및 표시하는 데 필요한 기타 정보를 포함하여 고정 레이아웃 평면 문서에 대한 완전한 설명을 캡슐화한다. PDF는 1991년 어도비 공동 창립자 존 워녹이 시작한 "카멜롯 프로젝트"에 뿌리를 두고 있다.
PDF는 2008년 ISO 32000으로 표준화되었다. ISO TC 171 SC 2 WG8에서 관리하며, PDF 협회(PDF Association)가 위원회 관리자이다. ISO 32000-2:2020으로 마지막으로 발행된 버전은 2020년 12월에 출판되었다.

PDF 파일은 평면 텍스트 및 그래픽 외에도 논리적 구조 요소, 주석 및 양식 필드와 같은 대화형 요소, 레이어, 리치 미디어(비디오 콘텐츠 포함), U3D 또는 PRC를 사용하는 3차원 객체 및 기타 다양한 데이터 형식을 포함할 수 있다. PDF 사양은 또한 이러한 기능이 필요한 워크플로를 가능하게 하기 위해 암호화 및 디지털 서명, 파일 첨부 및 메타데이터를 제공한다.

## 역사

PDF 개발은 1991년 존 워녹이 카멜롯이라는 코드명으로 진행되던 프로젝트를 위한 논문을 작성하면서 시작되었는데, 그는 이 논문에서 인터체인지 포스트스크립트(IPS)라는 간소화된 버전의 포스트스크립트를 만들 것을 제안했다. 출력 장치에 인쇄 작업을 렌더링하는 데만 집중했던 전통적인 포스트스크립트와 달리, IPS는 모든 화면과 모든 플랫폼에 페이지를 표시하는 데 최적화될 것이었다.

어도비 시스템즈는 1993년에 PDF 사양을 무료로 제공했다. 초기에는 PDF가 주로 탁상출판 워크플로에서 인기를 얻었으며, DjVu, Envoy, Common Ground Digital Paper, Farallon Replica, 심지어 어도비 자체의 포스트스크립트 형식을 포함한 여러 다른 형식들과 경쟁했다.

PDF는 2008년 7월 1일 개방형 표준으로 발표되어 국제 표준화 기구에서 ISO 32000-1:2008로 발행될 때까지 어도비가 관리하는 사유 형식이었다. 이때 사양에 대한 제어권은 자원봉사자 산업 전문가들로 구성된 ISO 위원회로 넘어갔다. 2008년 어도비는 ISO 32000-1에 대한 공개 특허 라이선스를 발행하여 PDF 호환 구현을 만들고, 사용하고, 판매하고, 배포하는 데 필요한 어도비 소유의 모든 특허에 대한 로열티 프리 권리를 부여했다.

PDF 1.7은 ISO 32000-1이 된 PDF 사양의 여섯 번째 판으로, 어도비 XML 양식 아키텍처(XFA) 및 아크로뱃용 자바스크립트 확장과 같이 어도비에서만 정의한 일부 독점 기술을 포함하고 있으며, ISO 32000-1은 이를 ISO 32000-1 사양의 완전한 구현에 필수적인 규범적으로 참조한다. 이러한 독점 기술은 표준화되어 있지 않으며, 해당 사양은 어도비 웹사이트에만 게시되어 있다. 이 중 상당수는 인기 있는 타사 PDF 구현에서 지원되지 않는다.

ISO는 2017년에 PDF 버전 2.0인 ISO 32000-2를 발행하여 구매할 수 있도록 했으며, 이는 어도비가 제공하던 무료 사양을 대체한다. 2020년 12월에는 PDF 2.0의 두 번째 판인 ISO 32000-2:2020이 발행되었으며, 명확화, 수정 및 규범적 참조에 대한 중요한 업데이트가 포함되었다. (ISO 32000-2는 독점 기술을 규범적 참조로 포함하지 않는다.)
2023년 4월, PDF 협회는 ISO 32000-2를 무료로 다운로드할 수 있도록 공개했다.

## 기술적 세부 사항

PDF 파일은 종종 벡터 그래픽스, 텍스트, 비트맵 그래픽스의 조합이다. PDF의 기본 콘텐츠 유형은 다음과 같다.

* 콘텐츠 스트림으로 저장된 조판 텍스트(즉, 플레인 텍스트로 인코딩되지 않음)
* 모양과 선으로 구성된 일러스트레이션 및 디자인을 위한 벡터 그래픽스
* 사진 및 기타 유형의 이미지를 위한 래스터 그래픽스
* 기타 멀티미디어 개체

나중 PDF 개정판에서는 PDF 문서가 링크(문서 내부 또는 웹 페이지), 양식, 자바스크립트(처음에는 아크로뱃 3.0의 플러그인으로 사용 가능) 또는 플러그인을 사용하여 처리할 수 있는 다른 유형의 내장 콘텐츠도 지원할 수 있다.

PDF는 세 가지 기술을 결합한다.

* PostScript 페이지 설명 프로그래밍 언어와 동등한 하위 집합을 선언적 형식으로 사용하여 레이아웃 및 그래픽을 생성한다.
* 글꼴이 문서와 함께 이동할 수 있도록 하는 글꼴 포함/대체 시스템.
* 이러한 요소 및 관련 콘텐츠를 단일 파일로 묶는 구조화된 저장 시스템으로, 적절한 경우 데이터 압축을 사용한다.

### 포스트스크립트 언어
포스트스크립트는 인터프리터에서 실행되어 이미지를 생성하는 페이지 기술 언어이다. 그래픽을 처리할 수 있으며 조건문, 반복문과 같은 프로그래밍 언어의 표준 기능을 갖추고 있다. PDF는 포스트스크립트의 하위 집합으로, 이러한 제어 흐름 기능을 제거하여 단순화되었으며, 그래픽 명령은 유지된다.

포스트스크립트는 원래 인쇄 작업을 출력 장치로 단방향 선형 전송하는 매우 다른 유스 케이스를 위해 설계되었으며, 이 경우 포스트스크립트 인터프리터는 `showpage` 명령을 만날 때까지 일련의 명령을 수집한 다음 모든 명령을 실행하여 페이지를 인쇄 장치에 래스터 이미지로 렌더링한다. 포스트스크립트는 컴퓨터 모니터에 전자 문서를 장기 저장하고 실시간으로 대화형 렌더링하기 위한 것이 아니었으므로 페이지의 연속 렌더링 외에는 아무것도 지원할 필요가 없었다. 최종 인쇄 출력에 오류가 발생하면 사용자는 응용 프로그램 수준에서 오류를 수정하고 완전히 새로운 포스트스크립트 파일 형태로 새로운 인쇄 작업을 전송한다. 따라서 포스트스크립트 파일의 특정 페이지는 이전 모든 페이지를 그리는 모든 선행 명령과 해당 특정 페이지를 그리는 명령을 실행한 누적 결과로만 정확하게 렌더링될 수 있으며, 그 과정에서 다른 페이지로 건너뛰는 쉬운 방법은 없었다.

전통적으로 포스트스크립트에서 PDF로 전환하기 위해, 소스 포스트스크립트 파일(즉, 실행 가능한 프로그램)은 포스트스크립트와 유사한 PDF 코드(예: Adobe Distiller)를 생성하는 기반으로 사용된다. 이는 루프 언롤링, 인라인 확장 및 사용되지 않는 분기 제거와 같은 표준 컴파일러 기술을 적용하여 순수하게 선언적이고 정적인 코드를 생성함으로써 이루어진다. 그 결과는 올바른 렌더링에 필요한 모든 의존성(문서가 참조하는 외부 파일, 그래픽 또는 글꼴)과 함께 컨테이너 형식으로 패키징되고, 압축된다. 최신 응용 프로그램은 먼저 포스트스크립트를 통하지 않고 직접 PDF를 생성하는 프린터 드라이버에 기록한다.

문서 형식으로서 PDF는 PostScript에 비해 몇 가지 장점이 있다.

* PDF는 선언적인 PostScript 코드를 데이터로 처리할 수 있는 정적 코드만 포함하며, 완전한 프로그램 인터프리터나 컴파일러를 필요로 하지 않는다. 이는 이러한 복잡한 수준의 엔진이 갖는 복잡성과 보안 위험을 피할 수 있다.
* 디스플레이 포스트스크립트와 마찬가지로 PDF는 버전 1.4부터 투명 그래픽스를 지원하는 반면, 표준 PostScript는 그렇지 않다.
* PDF는 특정 페이지의 코드가 다른 페이지에 영향을 미치지 않는다는 규칙을 강제한다. 이 규칙은 PostScript 코드에도 강력하게 권장되지만, PostScript는 이러한 더 큰 유연성을 허용하고 페이지 및 문서의 개념에 국한되지 않는 완전한 프로그래밍 언어이므로 명시적으로 구현해야 한다(예: 문서 구조화 규칙 참조).
* 렌더링에 필요한 모든 데이터가 파일 자체에 포함되어 있어 이식성이 향상된다.

단점은 다음과 같다.

* 유연성 손실 및 단일 사용 사례로의 제한.
* (때때로 훨씬) 더 큰 파일 크기.

PDF는 v1.6부터 대화형 3D 문서를 포함하는 것을 지원한다. 3D 도면은 U3D 또는 PRC 및 다양한 다른 데이터 형식을 사용하여 포함될 수 있다.

## 파일 형식

PDF 파일은 특정 요소가 이진 콘텐츠를 가질 수 있다는 점을 제외하고 ASCII 문자를 사용하여 구성된다.
파일은 매직 넘버(읽기 가능한 문자열)와 형식 버전(예: `٪PDF-1.7`)을 포함하는 헤더로 시작된다. 이 형식은 COS("Carousel" Object Structure) 형식의 하위 집합이다. COS 트리 파일은 주로 아홉 가지 유형의 객체로 구성된다.
* 불리언 값, 참 또는 거짓을 나타냄
* 실수
* 정수
* 문자열, 괄호(`(...)`) 안에 있거나 단일 꺾쇠(`&lt;...&gt;`) 안에 16진수로 표현됨. 문자열은 8비트 문자를 포함할 수 있음.
* 이름, 슬래시(`/`)로 시작함
* 배열, 대괄호(`[...]`) 안에 있는 객체들의 순서 있는 컬렉션
* 사전, 이중 꺾쇠(`&lt;&lt;...&gt;&gt;`) 안에 이름으로 색인된 객체들의 컬렉션
* 스트림, 일반적으로 사전이 앞에 오고 `stream`과 `endstream` 키워드 사이에 있는 선택적으로 압축된 대량의 이진 데이터를 포함함.
* 널 객체

백분율 기호(`%`)가 접두사로 붙은 8비트 문자를 사용하는 주석이 삽입될 수 있다.

객체는 직접(다른 객체에 내장된) 또는 간접일 수 있다. 간접 객체는 문서 루트에 있는 경우 객체 번호와 생성 번호로 번호가 매겨지며 `obj` 및 `endobj` 키워드 사이에 정의된다. PDF 버전 1.5부터는 간접 객체(다른 스트림 제외)도 객체 스트림(속성 `/Type /ObjStm`으로 표시)으로 알려진 특수 스트림에 위치할 수 있다. 이 기술은 스트림이 아닌 객체에 표준 스트림 필터를 적용할 수 있게 하고, 작은 간접 객체가 많은 파일의 크기를 줄이며, 특히 태그가 지정된 PDF에 유용하다. 객체 스트림은 객체의 생성 번호(0 이외)를 지정하는 것을 지원하지 않는다.

교차 참조 테이블이라고도 불리는 인덱스 테이블은 파일의 끝 근처에 위치하며, 파일 시작부터 각 간접 객체의 바이트 오프셋을 제공한다. 이 디자인은 파일 내 객체에 효율적인 임의 접근을 가능하게 하며, 전체 파일을 다시 작성하지 않고도 작은 변경(증분 업데이트)을 할 수 있게 한다. PDF 버전 1.5 이전에는 테이블이 항상 특수 ASCII 형식이었고, `xref` 키워드로 표시되었으며, 간접 객체로 구성된 본문 뒤에 왔다. 버전 1.5에서는 선택적 교차 참조 스트림이 도입되었는데, 이는 표준 스트림 객체 형태로, 필터가 적용될 수 있다. 이러한 스트림은 ASCII 교차 참조 테이블 대신 사용될 수 있으며, 오프셋 및 기타 정보를 이진 형식으로 포함한다. 이 형식은 정수 너비 지정(속성 `/W` 배열 사용)을 허용하여 유연하며, 예를 들어 크기가 64 KiB를 초과하지 않는 문서는 객체 오프셋에 2바이트만 할당할 수 있다. 역호환성을 보장하기 위해 하이브리드 참조 PDF 파일은 전통적인 교차 참조 테이블과 교차 참조 스트림을 모두 포함하여, 이전 PDF 프로세서가 파일을 읽을 수 있으면서도 버전 1.5에서 도입된 새로운 기능을 활용할 수 있도록 한다.

PDF 파일의 끝에는 다음을 포함하는 푸터가 있다.
* `startxref` 키워드 다음에 교차 참조 테이블( `xref` 키워드로 시작) 또는 교차 참조 스트림 객체의 시작 오프셋, 그 다음
* `%%EOF` 파일 끝 마커.

교차 참조 스트림이 사용되지 않는 경우, 푸터는 `trailer` 키워드 다음에 교차 참조 스트림 객체의 사전 안에 포함될 정보가 있는 사전을 포함한다.
* 트리 구조의 루트 객체 참조 ( `catalogue`라고도 함) (`/Root`)
* 교차 참조 테이블에 있는 간접 객체 수 (`/Size`)
* 기타 선택 정보

각 페이지 내에는 페이지에 그려질 텍스트, 벡터 및 이미지를 설명하는 하나 이상의 콘텐츠 스트림이 있다. 콘텐츠 스트림은 스택 기반이며, 포스트스크립트와 유사하다.
섬네일|유럽 지도에 겹쳐 표시된 Acrobat PDF 페이지의 최대 크기.
PDF 파일에는 비선형화("최적화되지 않은") 및 선형화("최적화된")의 두 가지 레이아웃이 있다. 비선형화된 PDF 파일은 선형 파일보다 작을 수 있지만, 문서 페이지를 구성하는 데 필요한 데이터 부분이 PDF 파일 전체에 분산되어 있어 접근 속도가 느리다. 선형화된 PDF 파일(또는 "최적화된" 또는 "웹 최적화된" PDF 파일)은 전체 파일을 다운로드할 때까지 기다릴 필요 없이 웹 브라우저 플러그인에서 읽을 수 있도록 구성되어 있으며, 첫 페이지를 표시하는 데 필요한 모든 객체가 파일 시작 부분에 최적으로 정리되어 있다. PDF 파일은 어도비 애크러뱃 소프트웨어 또는 QPDF를 사용하여 최적화될 수 있다.

페이지 크기는 형식 자체에 의해 제한되지 않는다. 그러나 어도비 아크로뱃은 1500만x1500만 인치, 즉 의 제한을 두는데, 이는 타지키스탄보다 약간 더 큰 면적이다.

## 이미징 모델
PDF에서 그래픽이 표현되는 기본 디자인은 포스트스크립트와 매우 유사하며, PDF 1.4에서 추가된 투명도 사용을 제외하고는 동일하다.

PDF 그래픽은 장치 독립적인 데카르트 좌표계를 사용하여 페이지 표면을 설명한다. PDF 페이지 설명은 행렬을 사용하여 그래픽 요소를 확대/축소, 회전, 또는 기울기를 적용할 수 있다. PDF의 핵심 개념은 그래픽 상태로, 페이지 설명에 의해 변경, 저장 및 복원될 수 있는 그래픽 매개변수들의 집합이다. PDF는 (버전 2.0 기준) 25가지 그래픽 상태 속성을 가지고 있으며, 그 중 가장 중요한 일부는 다음과 같다.
* 현재 변환 행렬(CTM), 좌표계를 결정함
* 클리핑 경로
* 색 공간
* 알파 상수, 투명도의 핵심 구성 요소
* 블랙 포인트 보정 제어(PDF 2.0에서 도입)

### 벡터 그래픽스

PostScript와 마찬가지로 PDF의 벡터 그래픽스는 경로로 구성된다. 경로는 일반적으로 선과 입방형 베지에 곡선으로 구성되지만, 텍스트의 윤곽선으로도 구성될 수 있다. PostScript와 달리 PDF는 단일 경로가 텍스트 윤곽선과 선 및 곡선을 혼합하는 것을 허용하지 않는다. 경로는 선, 채우기, 채우기 후 선, 또는 클리핑에 사용될 수 있다. 선과 채우기는 그래픽 상태에 설정된 모든 색상(패턴 포함)을 사용할 수 있다. PDF는 여러 유형의 패턴을 지원한다. 가장 간단한 것은 예술 작품을 반복적으로 그리는 것으로 지정된 타일링 패턴이다. 이는 패턴 객체에 색상이 지정된 색상 타일링 패턴이거나, 패턴이 그려질 때 색상 사양을 지연시키는 무색 타일링 패턴일 수 있다. PDF 1.3부터는 연속적으로 변하는 색상을 그리는 음영 패턴도 있다. 음영 패턴은 일곱 가지 유형이 있으며, 가장 간단한 것은 축 방향 음영(유형 2)과 방사형 음영(유형 3)이다. 

### 래스터 이미지

PDF의 래스터 이미지(이미지 XObjects라고 함)는 관련 스트림이 있는 사전으로 표현된다. 사전은 이미지의 속성을 설명하고, 스트림은 이미지 데이터를 포함한다. (드물지만, 작은 래스터 이미지는 인라인 이미지로 페이지 설명에 직접 포함될 수 있다.) 이미지는 일반적으로 압축을 위해 필터링된다. PDF에서 지원되는 이미지 필터는 다음 일반 필터를 포함한다.

* ASCII85Decode, 스트림을 7비트 ASCII로 변환하는 데 사용되는 필터
* ASCIIHexDecode, ASCII85Decode와 유사하지만 덜 압축적임
* FlateDecode, 에 정의된 DEFLATE 알고리즘을 기반으로 하는 일반적으로 사용되는 필터(DEFLATE는 Gzip, PNG, ZIP 파일 형식 등에서도 사용됨). PDF 1.2에서 도입됨. 더 효율적인 zlib/deflate 압축을 위해 두 그룹의 예측 함수 중 하나를 사용할 수 있음: TIFF 6.0 사양의 예측기 2와 PNG 사양의 예측기(필터)().
* LZWDecode, LZW 압축을 기반으로 하는 필터. 더 효율적인 LZW 압축을 위해 두 그룹의 예측 함수 중 하나를 사용할 수 있음: TIFF 6.0 사양의 예측기 2와 PNG 사양의 예측기(필터).
* RunLengthDecode, 런 렝스 부호화 알고리즘을 사용하는 반복 데이터가 있는 스트림에 대한 간단한 압축 방법 및 이미지별 필터
* DCTDecode, JPEG 표준을 기반으로 하는 손실 압축 필터
* CCITTFaxDecode, ITU-T T.4 및 T.6에 정의된 그룹 3 또는 그룹 4 CCITT (ITU-T) 팩시밀리 압축 표준을 기반으로 하는 무손실 이진 이미지 (흑백) 필터
* JBIG2Decode, PDF 1.4에서 도입된 JBIG2 표준을 기반으로 하는 손실 또는 무손실 이진 (흑백) 필터
* JPXDecode, PDF 1.5에서 도입된 JPEG 2000 표준을 기반으로 하는 손실 또는 무손실 필터.

일반적으로 PDF의 모든 이미지 콘텐츠는 파일에 내장되어 있다. 그러나 PDF는 외부 스트림 또는 대체 이미지를 사용하여 이미지 데이터를 외부 파일에 저장할 수 있도록 허용한다. PDF/A 및 PDF/X를 포함한 PDF의 표준화된 하위 집합은 이러한 기능을 금지한다.

### 텍스트

PDF에서 텍스트는 페이지 콘텐츠 스트림의 텍스트 요소로 표현된다. 텍스트 요소는 문자를 특정 위치에 그려야 한다고 지정한다. 문자는 선택된 글꼴 리소스의 인코딩을 사용하여 지정된다.

PDF의 글꼴 객체는 디지털 글꼴에 대한 설명이다. 이는 글꼴의 특성을 설명하거나 내장된 글꼴 파일을 포함할 수 있다. 후자의 경우 내장된 글꼴이라고 하며, 전자의 경우 내장되지 않은 글꼴이라고 한다. 내장될 수 있는 글꼴 파일은 널리 사용되는 표준 디지털 글꼴 형식을 기반으로 한다: Type 1(및 압축 변형 CFF), 트루타입, 그리고 (PDF 1.6부터) 오픈타입. 또한 PDF는 글꼴의 구성 요소가 PDF 그래픽 연산자로 설명되는 Type 3 변형을 지원한다. 

표준 14가지 글꼴로 알려진 14가지 글꼴은 PDF 문서에서 특별한 의미를 지닌다.

* Times (v3) (일반, 이탤릭, 굵게, 굵은 이탤릭)
* 쿠리어 (일반, 기울임, 굵게, 굵은 기울임)
* 헬베티카 (v3) (일반, 기울임, 굵게, 굵은 기울임)
* 심볼
* Zapf Dingbats

이러한 글꼴은 때때로 기본 14가지 글꼴이라고 불린다. 이러한 글꼴 또는 동일한 측정값을 가진 적절한 대체 글꼴은 대부분의 PDF 리더에서 사용할 수 있어야 하지만, 리더에서 사용할 수 있다는 보장은 없으며, 시스템에 설치되어 있어야만 올바르게 표시될 수 있다. PDF에 글꼴이 포함되어 있지 않으면 글꼴이 대체될 수 있다.

텍스트 문자열 내에서 문자는 인코딩을 사용하여 현재 글꼴의 글리프에 매핑되는 문자 코드(정수)로 표시된다. WinAnsi, MacRoman 및 많은 동아시아 언어에 대한 인코딩을 포함하여 여러 가지 사전 정의된 인코딩이 있으며, 글꼴에는 자체 내장 인코딩이 있을 수 있다. (WinAnsi 및 MacRoman 인코딩은 마이크로소프트 윈도우 및 매킨토시 운영 체제의 역사적 속성에서 파생되었지만, 이러한 인코딩을 사용하는 글꼴은 모든 플랫폼에서 동일하게 잘 작동한다.) PDF는 사용할 사전 정의된 인코딩, 글꼴의 내장 인코딩을 지정하거나 사전 정의된 또는 내장 인코딩과의 차이점 조회 테이블을 제공할 수 있다(트루타입 글꼴에는 권장되지 않음). PDF의 인코딩 메커니즘은 Type 1 글꼴을 위해 설계되었으며, 이를 트루타입 글꼴에 적용하는 규칙은 복잡하다.

큰 글꼴이나 비표준 글리프가 있는 글꼴의 경우, 특수 인코딩 Identity-H(가로 쓰기용) 및 Identity-V(세로 쓰기용)가 사용된다. 이러한 글꼴의 경우, 문자에 대한 의미 정보가 보존되려면 ToUnicode 테이블을 제공해야 한다.

텍스트가 광학 문자 인식(OCR)에 의해 인식되지 않고 스캔되어 PDF로 변환된 텍스트 문서는 글꼴이나 텍스트 속성이 없는 이미지이다.

### 투명도

PDF의 원래 이미징 모델은 PostScript와 유사하게 불투명했는데, 페이지에 그려진 각 개체는 이전에 동일한 위치에 표시된 모든 것을 완전히 대체했다. PDF 1.4에서는 이미징 모델이 투명도를 허용하도록 확장되었다. 투명도를 사용하면 새로운 개체가 이전에 표시된 개체와 상호 작용하여 혼합 효과를 생성한다. PDF에 투명도를 추가하는 것은 PDF 1.3 및 이전 사양으로 작성된 제품에서는 무시되도록 설계된 새로운 확장을 통해 이루어졌다. 결과적으로, 소량의 투명도를 사용하는 파일은 이전 뷰어에서도 허용 가능하게 보일 수 있지만, 투명도를 광범위하게 사용하는 파일은 이전 뷰어에서 잘못 표시될 수 있다.

투명도 확장은 투명도 그룹, 블렌드 모드, 모양 및 알파의 핵심 개념을 기반으로 한다. 이 모델은 어도비 일러스트레이터 버전 9의 기능과 밀접하게 일치한다. 블렌드 모드는 당시 어도비 포토샵에서 사용되던 블렌드 모드를 기반으로 했다. PDF 1.4 사양이 발표될 때까지 블렌드 모드 계산 공식은 어도비에 의해 비밀로 유지되었다. 이후 공개되었다.

PDF 사양에서 투명도 그룹의 개념은 Adobe Illustrator와 같은 응용 프로그램의 기존 "그룹" 또는 "레이어" 개념과 독립적이다. 이러한 그룹화는 해당 객체를 편집할 때 의미 있는 객체 간의 논리적 관계를 반영하지만, 이미징 모델의 일부는 아니다.

## 추가 기능

### 논리적 구조 및 [[접근성]]<span class="anchor" id="Tagged PDF"></span>

**태그된 PDF**는 안정적인 텍스트 추출 및 접근성을 가능하게 하는 문서 구조 및 의미 정보를 포함한다. 기술적으로 말하면, 태그된 PDF는 PDF 1.3에서 도입된 논리적 구조 프레임워크를 기반으로 하는 형식의 양식화된 사용이다. 태그된 PDF는 페이지 콘텐츠(텍스트, 그래픽 및 이미지)를 다른 목적으로 추출하고 재사용할 수 있도록 하는 표준 구조 유형 및 속성 집합을 정의한다.

PDF 파일이 인쇄 전용인 경우에는 태그된 PDF가 필요하지 않다. 이 기능은 선택 사항이며, ISO 32000-1에서 태그된 PDF에 대한 규칙이 상대적으로 모호했기 때문에, 보조과학기술(AT)을 포함한 소비 장치 간의 태그된 PDF 지원은 2021년 현재 균일하지 않다. 그러나 ISO 32000-2는 태그된 PDF에 대한 개선된 논의를 포함하고 있으며, 이는 추가 채택을 촉진할 것으로 예상된다.

접근성을 위해 특별히 고안된 PDF의 ISO 표준 하위 집합인 PDF/UA는 2012년에 처음 발행되었다.

### 선택적 콘텐츠 그룹 (레이어)

PDF 버전 1.5(2003년)가 도입되면서 레이어 개념이 생겨났다. 레이어는 보다 공식적으로 선택적 콘텐츠 그룹(OCG)이라고 불리며, PDF 문서 내에서 문서 작성자나 뷰어가 선택적으로 보거나 숨길 수 있는 콘텐츠 섹션을 의미한다. 이 기능은 CAD 도면, 레이어 아트워크, 지도, 다국어 문서 등에 유용하다.

기본적으로 문서 루트에 추가된 선택적 콘텐츠 속성 사전으로 구성된다. 이 사전에는 선택적 콘텐츠 그룹(OCG) 배열이 포함되어 있으며, 각 그룹은 정보 집합을 설명하고 각각 개별적으로 표시하거나 숨길 수 있다. 또한 주어진 OCG의 상태(표시 또는 숨김)를 제공하는 선택적 콘텐츠 구성 사전 집합도 포함된다.

### 암호화 및 서명

PDF 파일은 보안을 위해 암호화될 수 있으며, 이 경우 콘텐츠를 보거나 편집하려면 암호가 필요하다. PDF 2.0은 256비트 AES 암호화를 PDF 2.0 파일의 표준으로 정의한다. PDF 참조는 또한 타사가 PDF를 위한 자체 암호화 시스템을 정의하는 방법을 정의한다.

PDF 파일은 안전한 인증을 제공하기 위해 디지털 서명될 수 있다. PDF에서 디지털 서명을 구현하는 자세한 내용은 ISO 32000-2에 제공된다.

PDF 파일에는 복사, 편집 또는 인쇄를 제한하는 추가 제어를 제공하는 내장 DRM 제한도 포함될 수 있다. 이러한 제한은 리더 소프트웨어가 이를 준수하는지에 따라 달라지므로, 제공하는 보안은 제한적이다.

PDF가 제공하는 표준 보안은 두 가지 다른 방법과 두 가지 다른 암호로 구성된다. 사용자 암호는 파일을 암호화하고 열기를 방지한다. 소유자 암호는 문서가 암호화 해제된 경우에도 제한되어야 하는 작업을 지정하는데, 여기에는 문서에서 텍스트와 그래픽을 수정, 인쇄 또는 복사하는 것, 또는 텍스트 메모 및 AcroForm 필드를 추가하거나 수정하는 것이 포함될 수 있다. 사용자 암호는 파일을 암호화하는 반면, 소유자 암호는 파일을 암호화하지 않고, 이러한 제한 사항을 존중하도록 클라이언트 소프트웨어에 의존한다. 소유자 암호는 일부 무료 온라인 서비스를 포함한 소프트웨어로 쉽게 제거될 수 있다. 따라서 문서 작성자가 PDF 문서에 부여하는 사용 제한은 안전하지 않으며, 파일이 배포되면 보장될 수 없다. 이러한 경고는 어도비 아크로뱃 소프트웨어를 사용하여 PDF 파일을 생성하거나 편집할 때 이러한 제한을 적용하면 표시된다.

암호를 제거하지 않아도 대부분의 프리웨어 또는 오픈 소스 PDF 리더는 권한 "보호"를 무시하고 문서가 암호 보호에 의해 제한되지 않은 것처럼 사용자가 텍스트의 발췌 부분을 인쇄하거나 복사할 수 있도록 한다.

PDF 1.5부터는 사용권한(UR) 서명이 특정 PDF 뷰어 애플리케이션에서 기본적으로 사용할 수 없는 추가 대화형 기능을 활성화하는 데 사용된다. 이 서명은 권한이 진정성 있는 권한 부여 기관에 의해 부여되었음을 확인하는 데 사용된다. 예를 들어, 사용자가 다음을 수행할 수 있도록 허용하는 데 사용될 수 있다.
* 수정된 양식 또는 주석 데이터와 함께 PDF 문서 저장
* FDF, XFDF, 텍스트 (CSV/TSV) 형식의 양식 데이터 파일 가져오기
* FDF, XFDF 형식의 양식 데이터 파일 내보내기
* 양식 데이터 제출
* 명명된 페이지 템플릿에서 새 페이지 
* 기존 디지털 서명 양식 필드에 디지털 서명 적용
* 주석 생성, 삭제, 수정, 복사, 가져오기 및 내보내기

예를 들어, 어도비 시스템즈는 공개 키 암호 방식을 사용하여 어도비 리더에서 추가 기능을 활성화할 수 있는 권한을 부여한다. 어도비 리더는 서명이 어도비 공인 인증서를 사용하는지 확인한다. 모든 PDF 애플리케이션은 자체 목적을 위해 동일한 메커니즘을 사용할 수 있다.

수신자의 패치되지 않은 시스템을 포함한 특정 상황에서, 디지털 서명된 문서의 수신자가 보는 정보는 서명자가 서명한 후 발신자에 의해 조작될 수 있다.

PAdES (PDF Advanced Electronic Signatures)는 고급 전자 서명에 적합하도록 PDF 및 ISO 32000-1에 대한 제한 및 확장 집합이다. 이는 ETSI가 TS 102 778로 발행한다.

### 파일 첨부

PDF 파일에는 프로세서가 접근하여 열거나 로컬 파일 시스템에 저장할 수 있는 파일 첨부 파일이 있을 수 있다.

### 메타데이터

PDF 파일은 두 가지 유형의 메타데이터를 포함할 수 있다. 첫 번째는 문서 정보 사전으로, 작성자, 제목, 주제, 생성 및 업데이트 날짜와 같은 키/값 필드 집합이다. 이것은 선택 사항이며 파일의 트레일러에 있는 `Info` 키에서 참조된다. 소수의 필드가 정의되어 있으며 필요한 경우 추가 텍스트 값으로 확장할 수 있다. 이 방법은 PDF 2.0에서 더 이상 사용되지 않는다.

PDF 1.4에서는 Extensible Metadata Platform(XMP)을 사용하여 다른 파일 형식에서 사용되는 XML 표준 기반 확장 가능한 메타데이터를 추가하는 메타데이터 스트림 지원이 추가되었다. PDF 2.0에서는 확장 가능한 스키마를 사용하여 문서의 모든 객체(예: 내장 일러스트레이션, 글꼴 및 이미지에 대한 정보)뿐만 아니라 전체 문서(문서 카탈로그에 첨부)에도 메타데이터를 첨부할 수 있다.

PDF 문서에는 뷰어 기본 설정 객체의 페이지 표시 레이아웃 및 확대/축소 수준을 포함한 표시 설정도 포함될 수 있다. 어도비 리더는 이 설정을 사용하여 문서를 열 때 사용자의 기본 설정을 재정의한다. 무료 어도비 리더는 이 설정을 제거할 수 없다.

### 접근성

PDF 파일은 장애인을 위해 특별히 접근성을 갖도록 생성될 수 있다.  사용 중인 PDF 파일 형식은 태그, 텍스트 대체, 캡션, 오디오 설명 등을 포함할 수 있다. 일부 소프트웨어는 자동으로 태그된 PDF를 생성할 수 있지만, 이 기능은 항상 기본적으로 활성화되어 있는 것은 아니다. JAWS, Window-Eyes, Hal, Kurzweil 1000 및 3000을 포함한 주요 스크린 리더는 태그된 PDF를 읽을 수 있다. 또한, 태그된 PDF는 시각 장애인을 위해 재구성되고 확대될 수 있다. 오래된 PDF 및 스캔된 문서에서 생성된 PDF에 태그를 추가하는 것은 일부 어려움을 야기할 수 있다.

PDF 접근성과 관련하여 가장 큰 문제 중 하나는 PDF 문서에 세 가지 고유한 뷰가 있으며, 문서 생성 방식에 따라 서로 일치하지 않을 수 있다는 점이다. 세 가지 뷰는 (i) 물리적 뷰, (ii) 태그 뷰, (iii) 콘텐츠 뷰이다. 물리적 뷰는 표시되고 인쇄되는 것(대부분의 사람들이 PDF 문서라고 생각하는 것)이다. 태그 뷰는 스크린 리더 및 기타 보조 기술이 장애인 사용자에게 고품질 탐색 및 읽기 경험을 제공하는 데 사용하는 것이다. 콘텐츠 뷰는 PDF의 콘텐츠 스트림 내에서 객체의 물리적 순서에 기반하며, 어도비 리더의 Reflow 기능과 같이 태그 뷰를 완전히 지원하지 않는 소프트웨어에서 표시될 수 있다.

ISO 32000-1을 기반으로 한 접근 가능한 PDF에 대한 국제 표준인 PDF/UA는 2012년에 ISO 14289-1로 처음 발행되었으며, 접근 가능한 PDF 기술에 대한 규범적 언어를 확립했다.

### 멀티미디어

리치 미디어 PDF는 파일 내에 포함되거나 연결될 수 있는 대화형 콘텐츠를 포함하는 PDF 파일이다. 이미지, 오디오, 비디오 콘텐츠 또는 버튼을 포함할 수 있다. 예를 들어, 대화형 PDF가 전자상거래 비즈니스를 위한 디지털 카탈로그인 경우, 제품을 PDF 페이지에 나열하고 웹사이트 링크 및 문서에서 직접 주문할 수 있는 버튼과 이미지를 추가할 수 있다.

### 양식

대화형 양식은 PDF 파일 형식에 양식을 추가하는 메커니즘이다. PDF는 현재 데이터와 PDF 양식을 통합하는 두 가지 방법을 지원한다. 두 형식 모두 현재 PDF 사양에서 공존한다.

* PDF 1.2 형식 사양에서 도입되었고 이후 모든 PDF 사양에 포함된 AcroForms(아크로뱃 양식이라고도 함).
* PDF 1.5 형식 사양에서 도입된 XML 양식 아키텍처(XFA) 양식. 어도비 XFA 양식은 AcroForms와 호환되지 않는다. XFA는 PDF 2.0에서 PDF에서 더 이상 사용되지 않게 되었다.

AcroForms는 PDF 1.2 형식에 도입되었다. AcroForms는 객체(예: 텍스트 상자, 라디오 단추 등) 및 일부 코드(예: JavaScript) 사용을 허용한다. 표준 PDF 액션 유형 외에도 대화형 양식(AcroForms)은 데이터 제출, 재설정 및 가져오기를 지원한다. "제출" 액션은 선택된 대화형 양식 필드의 이름과 값을 지정된 URL로 전송한다. 대화형 양식 필드 이름과 값은 다음 형식 중 하나로 제출될 수 있다(액션의 ExportFormat, SubmitPDF 및 XFDF 플래그 설정에 따라 달라짐).

; HTML 양식 형식: PDF 1.5부터 HTML 4.01 사양 지원; 1.2부터 HTML 2.0 지원
; 양식 데이터 형식(FDF): PDF 기반으로 동일한 구문과 기본적으로 동일한 파일 구조를 가지지만, FDF 문서 본문이 하나의 필수 객체로만 구성되므로 PDF보다 훨씬 간단하다. 양식 데이터 형식은 PDF 사양(PDF 1.2부터)에 정의되어 있다. 양식 데이터 형식은 서버에 양식 데이터를 제출하고 응답을 받아 대화형 양식에 통합할 때 사용할 수 있다. 또한 양식 데이터를 독립 실행형 파일로 내보내어 해당 PDF 대화형 양식으로 다시 가져올 때도 사용할 수 있다. FDF는 원래 1996년에 ISO 32000-2:2017의 일부로 정의되었다.
; XML 양식 데이터 형식(XFDF): (외부 XML 양식 데이터 형식 사양, 버전 2.0; PDF 1.5부터 지원; PDF 1.4에 정의된 "XML" 양식 제출 형식을 대체함) 양식 데이터 형식의 XML 버전이지만, XFDF는 양식 및 주석을 포함하는 FDF의 하위 집합만 구현한다. FDF 사전의 일부 항목은 XFDF에 해당하는 항목이 없다 – Status, Encoding, JavaScript, Page's keys, EmbeddedFDFs, Differences, Target 등. 또한 XFDF는 FDF 파일을 사용할 때처럼 주어진 데이터를 기반으로 새 페이지를 생성하거나 추가하는 것을 허용하지 않는다. XFDF 사양은 PDF 1.5 사양(및 이후 버전)에서 참조되지만(포함되지 않음) XML 양식 데이터 형식 사양에 별도로 설명되어 있다. PDF 1.4 사양은 XML 형식으로 양식 제출을 허용했지만, PDF 1.5 사양에서는 XFDF 형식으로 대체되었다. XFDF는 XML 표준을 준수한다. XFDF는 FDF와 동일한 방식으로 사용할 수 있다. 예를 들어, 양식 데이터가 서버로 제출되고, 수정이 이루어진 다음 다시 전송되고 새 양식 데이터가 대화형 양식으로 가져와진다. 또한 양식 데이터를 독립 실행형 파일로 내보내어 해당 PDF 대화형 양식으로 다시 가져올 때도 사용할 수 있다. 2019년 8월 현재, XFDF 3.0은 ISO/IEC 19444-1:2019 - 문서 관리 — XML 양식 데이터 형식 — Part 1: ISO 32000-2 사용(XFDF 3.0)이라는 공식 명칭으로 ISO/IEC 표준이다. 이 표준은 ISO 32000-2의 규범적 참조이다.
; PDF

개별 필드와 값이 아니라 전체 문서를 제출할 수 있다. 이는 PDF 1.4에 정의되었다.

AcroForms는 키-값 쌍을 포함하는 외부 독립 실행형 파일에 양식 필드 값을 유지할 수 있다. 외부 파일은 양식 데이터 형식(FDF) 및 XML 양식 데이터 형식(XFDF) 파일을 사용할 수 있다. 사용 권한(UR) 서명은 FDF, XFDF 및 텍스트(CSV/TSV) 형식으로 양식 데이터를 가져오고, FDF 및 XFDF 형식으로 양식 데이터를 내보낼 수 있는 권한을 정의한다.

PDF 1.5에서 어도비 시스템즈는 양식을 위한 독점 형식을 도입했다: 어도비 XML 양식 아키텍처(XFA). 어도비 XFA 양식은 ISO 32000의 AcroForms 기능과 호환되지 않으며, 대부분의 PDF 프로세서는 XFA 콘텐츠를 처리하지 않는다. XFA 사양은 ISO 32000-1/PDF 1.7에서 외부 독점 사양으로 참조되었으며, ISO 32000-2 (PDF 2.0)에서 PDF에서 완전히 폐지되었다.

## 라이선싱

누구나 어도비 시스템즈에 로열티를 지불하지 않고도 PDF 파일을 읽고 쓸 수 있는 애플리케이션을 만들 수 있다. 어도비는 PDF에 대한 특허를 보유하고 있지만, PDF 사양을 준수하는 소프트웨어 개발에 로열티 프리 사용을 허가한다.

## 보안

### 콘텐츠 변경
2019년 11월, 보훔 루르 대학교와 Hackmanit GmbH의 연구원들은 디지털 서명된 PDF에 대한 공격을 발표했다. 그들은 구현 결함을 악용하여 22개의 데스크톱 PDF 뷰어 중 21개와 8개의 온라인 유효성 검사 서비스 중 6개에서 서명을 무효화하지 않고 서명된 PDF의 보이는 콘텐츠를 변경하는 방법을 시연했다.
동일한 컨퍼런스에서 그들은 PDF 내 암호화된 콘텐츠의 플레인 텍스트를 추출하는 방법도 추가적으로 시연했다. 2021년에는 사양에 제공된 기능의 유연성을 악용하는 새로운 이른바 섀도우 공격을 PDF에 대해 시연했다. 서비스 거부 공격, 데이터 유출, 데이터 조작, 임의 코드 실행 공격과 관련된 PDF의 보안 문제에 대한 개요는 옌스 뮐러(Jens Müller)가 발표했다.

### 멀웨어 취약점
일부 인기 있는 PDF 리더는 바이러스, 트로이 목마 및 기타 멀웨어에 감염된 PDF 파일이 손상을 입힐 수 있는 보안 취약점의 역사를 가지고 있다. 이러한 PDF 파일에는 PDF 리더의 취약점을 악용할 수 있는 숨겨진 자바스크립트 코드, 파일을 열 때 실행되는 숨겨진 객체, 그리고 드물게 악성 PDF가 멀웨어를 실행할 수 있다.

바이러스를 포함한 PDF 첨부 파일은 2001년에 처음 발견되었다. OUTLOOK.PDFWorm 또는 Peachy라는 이름의 이 바이러스는 마이크로소프트 아웃룩을 사용하여 자신을 첨부된 어도비 PDF 파일로 보냈다. 이 바이러스는 어도비 아크로뱃으로 활성화되었지만, 아크로뱃 리더로는 활성화되지 않았다.

수년에 걸쳐 다양한 버전의 어도비 리더에서 여러 가지 취약점이 발견되었으며, 이에 따라 회사는 보안 패치를 발행했다. 다른 PDF 리더에서도 취약점이 발견되었다. 한 가지 악화 요인은 웹 페이지에 PDF 파일이 포함되어 있는 경우 PDF 리더가 자동으로 시작되도록 구성할 수 있어 공격 벡터를 제공한다는 점이다. 악성 웹 페이지에 PDF 리더의 취약점을 악용하는 감염된 PDF 파일이 포함되어 있으면 브라우저가 안전하더라도 시스템이 손상될 수 있다. 이러한 취약점 중 일부는 PDF 파일에 내장된 자바스크립트를 잘못 처리하는 잘못 작성된 PDF 리더의 결과이다. PDF 리더에서 자바스크립트 실행을 비활성화하면 이러한 미래의 악용을 완화하는 데 도움이 될 수 있지만, PDF 보기 소프트웨어의 다른 부분의 악용으로부터는 보호되지 않는다. 일부 보안 전문가는 자바스크립트가 PDF 리더에 필수적이지 않으며, 자바스크립트 비활성화로 인한 보안 이점이 발생하는 호환성 문제를 상회한다고 말한다. PDF 파일 악용을 피하는 한 가지 방법은 파일을 보기 전에 로컬 또는 웹 서비스에서 다른 형식으로 변환하는 것이다.

2010년 3월 30일, 보안 연구원 디디에르 스티븐스(Didier Stevens)는 사용자가 요청 시 실행을 허용하면 악성 실행 파일을 실행하는 어도비 리더 및 폭싯 리더 취약점을 보고했다.

## 소프트웨어

### 뷰어 및 편집기

많은 PDF 뷰어가 다양한 소스에서 무료로 제공된다. PDF 파일을 조작하고 편집하는 프로그램은 보통 유료로 판매된다.

macOS, iOS, 그리고 대부분의 리눅스 배포판에 내장된 PDF 인쇄 기능을 포함하여 PDF를 생성하는 많은 소프트웨어 옵션이 있다. 리브레오피스, 마이크로소프트 오피스 2007(SP2 이상으로 업데이트된 경우), 워드퍼펙트 9, 스크라이버스를 포함한 많은 문서 처리 소프트웨어는 문서를 PDF로 내보낼 수 있다. 마이크로소프트 윈도우용 PDF 인쇄 드라이버, pdfTeX 조판 시스템, 닥북 PDF 도구, 고스트스크립트 및 어도비 애크러뱃 자체와 어도비 인디자인, 어도비 프레임메이커, 어도비 일러스트레이터, 어도비 포토샵을 중심으로 개발된 응용 프로그램 등 "PDF 프린터"를 설정할 수 있는 것이 많으며, 이를 선택하면 출력이 물리적 프린터 대신 PDF 파일로 전송된다. 구글의 온라인 오피스 제품군인 구글 문서도구는 PDF 업로드 및 저장을 허용한다. 일부 웹 앱은 무료 PDF 편집 및 주석 도구를 제공한다.

자유 소프트웨어 재단은 "ISO 32000 표준을 구현하는 무료, 고품질 및 완전한 기능을 갖춘 PDF 파일 형식 및 관련 기술 라이브러리 및 프로그램을 개발하고 있었다"고 밝혔으며, 이는 고우선 자유 소프트웨어 프로젝트 중 하나였다. 그러나 2011년에 GNU PDF 프로젝트는 포플러 라이브러리의 성숙으로 인해 "고우선 프로젝트" 목록에서 제거되었다. 포플러 라이브러리는 그놈 데스크톱 환경의 에빈스와 같은 응용 프로그램에서 더 널리 사용되고 있다. 포플러는 Xpdf 코드 기반을 사용한다. PDF 소프트웨어 목록에 상업용 개발 라이브러리도 나와 있다.

아파치 소프트웨어 재단의 아파치 PDFBox 프로젝트는 PDF 문서 작업을 위한 아파치 라이선스 하에 라이선스된 오픈 소스 자바 라이브러리이다.

### 인쇄

래스터 이미지 프로세서(RIP)는 PDF 파일을 종이 및 기타 인쇄 매체(프린터, 디지털 생산 인쇄기, 프리프레스)에 이미징하는 데 적합한 래스터 형식으로 변환하는 데 사용되며, 이 과정을 래스터화라고 한다. PDF를 직접 처리할 수 있는 RIP에는 어도비 시스템즈의 어도비 PDF 인쇄 엔진과 글로벌 그래픽스의 Jaws, Harlequin RIP이 있다.

1993년, 글로벌 그래픽스의 Jaws 래스터 이미지 프로세서는 다른 형식으로 변환하지 않고 PDF를 네이티브로 해석하는 최초의 상용 프리프레스 RIP가 되었다. 이 회사는 1997년에 동일한 기능을 가진 Harlequin RIP 업그레이드를 출시했다.

아그파게바트는 1997년에 PDF 기반의 최초의 프리프레스 워크플로 시스템인 아포지(Apogee)를 도입하고 출시했다.

많은 상업용 옵셋 인쇄 업체는 인쇄 준비된 PDF 파일, 특히 PDF/X-1a 하위 집합 및 그 변형을 인쇄 소스로 제출하는 것을 받아들였다. 인쇄 준비된 PDF 파일의 제출은 수집된 원본 작업 파일을 받는 번거로운 필요성을 대체한다.

2006년, PDF는 오픈 소스 개발 연구소 인쇄 서밋에서 표준 인쇄 작업 형식으로 널리 인정받았다. Common Unix Printing System 및 그놈, KDE, 모질라 파이어폭스, 모질라 선더버드, 리브레오피스 및 오픈오피스와 같은 데스크톱 응용 프로그램 프로젝트에서 인쇄 작업 형식으로 지원되며, PDF로 인쇄 작업을 생성하도록 전환되었다.

일부 데스크톱 프린터도 외부 도움 없이 PDF 데이터를 해석할 수 있는 직접 PDF 인쇄를 지원한다.

### 네이티브 디스플레이 모델

PDF는 macOS (원래 Mac OS X라고 불렸다)의 "네이티브" 메타파일 형식으로 선택되었으며, 이전 클래식 Mac OS의 PICT 형식을 대체했다. 쿼츠 (그래픽스 계층) 그래픽스 계층의 이미징 모델은 디스플레이 포스트스크립트와 PDF에 공통된 모델을 기반으로 하며, 이로 인해 디스플레이 PDF라는 별명이 붙었다. 미리보기 (macOS) 응용 프로그램은 PDF 파일을 표시할 수 있으며, Safari 웹 브라우저의 버전 2.0 이상도 마찬가지이다. PDF에 대한 시스템 수준 지원을 통해 macOS 응용 프로그램은 OS 표준 인쇄 아키텍처를 지원하는 경우 PDF 문서를 자동으로 생성할 수 있다. 그런 다음 파일 헤더에 따라 PDF 1.3 형식으로 내보내진다. Mac OS X 버전 10.0에서 10.3까지 스크린샷을 찍을 때 이미지는 PDF로도 캡처되었지만, 이후 버전에서는 화면 캡처를 PNG 파일로 저장하며, 원하는 경우 이 동작을 PDF로 다시 설정할 수 있다.

### 주석 달기

어도비 애크러뱃은 사용자가 이미 생성된 PDF 파일에 주석을 달고, 하이라이트하고, 메모를 추가할 수 있도록 하는 사유 소프트웨어의 한 예이다. GNU 일반 공중 사용 허가서에 따라 자유 소프트웨어로 사용할 수 있는 UNIX 응용 프로그램 중 하나는 PDFedit이다. 마이크로소프트 윈도우, macOS 및 리눅스에서 사용할 수 있는 프리웨어인 Foxit Reader는 문서에 주석을 달 수 있다. Tracker Software의 PDF-XChange Viewer는 프리웨어 대안에서 제한 없이 주석 및 마크업을 허용한다. 애플의 macOS에 통합된 PDF 뷰어인 미리보기는 주석을 가능하게 하며, 오픈 소스 소프트웨어인 Skim도 마찬가지로 LaTeX, SyncTeX, PDFSync와의 상호 작용 및 BibDesk 참조 관리 소프트웨어와의 통합을 지원한다. 프리웨어 Qiqqa는 PDF 라이브러리 전체에서 사용자가 만든 모든 주석 및 메모를 요약하는 주석 보고서를 만들 수 있다. Text Verification Tool은 문서의 차이점을 주석 및 마크업으로 내보낸다.

PDF 및 기타 문서 형식에 주석을 지원하는 웹 주석 시스템도 있다. PDF가 종이 문서의 모든 기능을 가질 것으로 예상되는 경우, 잉크 주석이 필요하다.

### 변환 및 정보 추출
PDF는 다른 소프트웨어 및 하드웨어 플랫폼 간에 문서의 시각적 모양을 보존하는 데 중점을 두므로, PDF 문서를 다른 파일 형식으로 변환하고 텍스트, 이미지, 표, 서지 정보 및 문서 메타데이터와 같은 정보를 대상별로 추출하는 데 어려움이 있다. 수많은 도구와 소스 코드 라이브러리가 이러한 작업을 지원한다. PDF 변환 및 정보 추출 도구의 성능 벤치마크 평가에 사용된 여러 레이블이 지정된 데이터셋이 존재한다.

## 대안

오픈 XML 문서 규격은 페이지 기술 언어이자 윈도우 비스타 이후 마이크로소프트 윈도우의 기본 인쇄 스풀러 형식으로 사용되는 경쟁 형식이다.

복합 객체: 문서 내용 아키텍처는 경쟁 형식이다. MO:DCA-P는 Advanced Function Presentation의 일부이다.

## 같이 보기
* 전자 문서
* DjVu
* GNU enscript

## 각주

## 외부 링크

*  PDF Association - The PDF Association is the industry association for software developers producing or processing PDF files.
*  Adobe PDF 101: Summary of PDF

분류:페이지 기술 언어
분류:그래픽 파일 포맷
분류:어도비 시스템즈
분류:오픈 파일 포맷
분류:벡터 그래픽스