PDF의 짧은 역사
Spec: ISO 32000-1ISO 32000-1ISO 32000-2
한눈에 보기
섹션 제목: “한눈에 보기”PDF는 어떤 불만에 관한 메모로 시작되었습니다. 문서를 어디에서나 인쇄할 수는 있지만, 안정적으로 보낼 수는 없다는 것이었습니다. 이 페이지는 그 문제가 어떻게 세계에서 가장 널리 쓰이는 문서 포맷 중 하나로 바뀌었는지에 대한 짧은 이야기입니다 — 1993년 PostScript에서 파생된 것에서, 최신 판본에 더 이상 Adobe의 이름이 붙지 않는 ISO 표준에 이르기까지.
이것이 중요한 이유
섹션 제목: “이것이 중요한 이유”여기서 역사는 향수가 아닙니다. 여러분이 오늘 만드는 PDF는 수십 년 전에 내려진
결정들로 가득 차 있으며, 그 대부분은 여전히 하중을 지탱하고 있습니다. 객체
번호 0은 1993년 설계가 그렇게 정했기 때문에 생성 번호 65535를 갖는 프리
리스트 헤드입니다. 페이지는 이 포맷이 인쇄 언어에서 자라났기 때문에
PostScript에서 유래한 그리기 연산자로 자기 자신을 기술합니다. 어떤 규칙이
어디서 왔는지 아는 것은 그것을 왜 그냥 무시할 수 없는지 이해하는 가장 빠른
길인 경우가 많습니다.
또 다른 이유는 관점입니다. “PDF 2.0”은 말끔한 재발명처럼 들립니다. 그렇지 않습니다. 그것은 30년 묵은 퇴적층 위의 가장 최신 층이며, 그것을 리부트가 아닌 연속으로 읽는 것이 그것이 어떻게 동작할지 예측하게 해 줍니다.
- PDF는 Adobe의 페이지 기술 언어인 PostScript에서 유래합니다. 그리기 모델은 유지하고 완전한 프로그래밍 언어는 버렸습니다.
- John Warnock의 1991년 사내 “Camelot” 메모는 그 목표를 정의했습니다. 누구나 열 수 있고 어디서나 똑같이 보이는 파일이었습니다.
- PDF 1.0은 1993년 Acrobat과 함께 출시되었습니다. 그것은 기본 형식이 되기 전에는 유료의 틈새 제품이었습니다.
- 1.1부터 1.7까지의 버전은 그것을 필수 불가결하게 만든 것들을 하나의 사양씩 더했습니다 — 링크, 암호화, 압축, 양식, 투명도, 태깅, 디지털 서명.
- 2008년에 PDF 1.7은 ISO 32000-1이 되었습니다. 이 포맷은 Adobe의 것이기를 멈추고 개방된 국제 표준이 되었습니다.
- PDF 2.0은 ISO 32000-2로, ISO 안에서 전적으로 작성되고 소유된 첫 판본입니다. 그것은 재발명하기보다 통합하고, 조이고, 더 많이 제거합니다.
NextPDF가 이를 다루는 방식
섹션 제목: “NextPDF가 이를 다루는 방식”NextPDF는 이 계보를 배경 이야기가 아니라 실제 제약으로 취급합니다. 그것은 기본적으로 PDF 2.0 엔진이지만, PDF 위에 빌드된 표준들이 여전히 그것들을 요구하기 때문에, 이 포맷의 더 오래된 형태들에 의도적으로 도달할 수 있습니다.
타임라인에서 결정적인 단절은 2008년입니다. 그 이전에 “PDF”는 “Adobe의 최신 사양이 말하는 무엇이든”을 의미했습니다. 그 이후에 PDF는 ISO 표준(Spec: ISO 32000-1ISO 32000-1)이며, 이것이 바로 이와 같은 독립 엔진이 존재하고 벤더의 제품이 아니라 공개 문서에 비추어 적합성을 주장할 수 있는 이유입니다. 현재의 기준선은 PDF 2.0(Spec: ISO 32000-2, IntroductionISO 32000-2 Introduction), 즉 ISO 안에서 전적으로 작성된 첫 판본입니다.
그 역사는 엔진의 조용하지만 중요한 설계 선택 하나를 설명합니다. PDF 버전은 결코 우연이 아니라 의도적인 결정입니다. NextPDF는 기본적으로 2.0 구조를 작성하지만, 더 오래된 1.7 및 1.4 파일 형태를 여전히 직렬화할 수 있습니다 — 향수 때문이 아니라, PDF/A 같은 적합성 프로파일이 그 더 이른 구조들에 비추어 정의되었고 계속 그것들을 요구하기 때문입니다. 과거는 폐기되지 않았습니다. 그것은 지원되는 출력 대상입니다.
- PostScript (1984)Adobe가 레이저 프린터를 위한 페이지 기술 언어를 출시합니다 — PDF가 물려받는 그리기 모델입니다.
- Camelot 메모 (1991)John Warnock이 누구나 열 수 있고 어디서나 똑같이 렌더링하는 것을 목표로 하는 휴대 가능한 파일을 제안합니다.
- Acrobat과 함께한 PDF 1.0 (1993)이 포맷이 유료 제품으로 출시됩니다. 도입은 더디고, 리더와 도구가 돈이 듭니다.
- PDF 1.1부터 1.7까지 (1996부터 2006까지)링크, 암호화, 압축, 양식, 투명도, 태깅, 그리고 서명이 한 버전씩 도착합니다.
- ISO 32000-1 (2008)PDF 1.7이 ISO에 채택됩니다. 이 포맷이 더 이상 Adobe 소유가 아닌 개방 표준이 됩니다.
- ISO 32000-2 / PDF 2.0 (2017, 2020 개정)첫 ISO 작성 판본: 통합, 조임, 그리고 NextPDF가 기본으로 작성하는 기준선입니다.
그 타임라인의 몇 가지 세부 사항은 곱씹어 볼 가치가 있습니다. 그것들이 이 포맷의 성격을 설명하기 때문입니다.
그것은 인쇄 언어에서 나왔습니다. PostScript는 프린터가 그릴 수 있는 것은 무엇이든 그릴 수 있었지만, 완전한 프로그래밍 언어였습니다 — PostScript 파일은 영원히 반복할 수 있었습니다. PDF는 PostScript의 좌표계와 그래픽 연산자는 유지하고 프로그래밍 가능성은 버렸습니다. 남은 것은 완성된 페이지의 정적 기술이었습니다. 예측 가능하고, 한계가 정해져 있고, 렌더링하기에 안전한. 그 절충이 PDF 페이지가 모든 리더에서 똑같이 보이는 이유이며, 그것이 PostScript 파일이 사실상 그랬던 것처럼 작은 애플리케이션이 아닌 이유입니다.
무료 전자 채택은 전환점이었습니다. PDF 1.0은 상업 제품이었고, 수년 동안 이 포맷은 유료의 호기심거리였습니다. 돌파구는 작성 도구는 유료로 유지하면서 리더를 무료로 만든 것이었습니다. 한쪽만 받아들이면 되는 포맷은 누구나 받을 수 있는 포맷입니다. 사양이 1.7에 이를 무렵, PDF는 이미 전송 중에 변경되어서는 안 되는 문서를 보내는 기본 방식이었습니다.
2008년은 규칙을 누가 소유하는지를 바꿨습니다. PDF 1.7을 ISO에 넘긴 것은 벤더 사양을 국제 표준으로 바꿨습니다. 그것이 독립적이고 적합한 엔진이 애초에 가능해지는 순간입니다 — 모든 동작에 대한 공개 조항을 갖춘, 그것에 대해 빌드할 공개 문서가 있는 것입니다.
실용 예제
섹션 제목: “실용 예제”여러분은 파일의 첫 줄에서 그 전체 궤적을 읽을 수 있습니다. 헤더는 버전 표시자이며, 이 포맷에서 가장 오래되고 가장 단순한 계약입니다 — 1993년에 존재했고 오늘날에도 형태가 변하지 않았습니다.
%PDF-1.0 ← 1993, Acrobat 1.0%PDF-1.4 ← 2001, transparency and the basis for PDF/A-1%PDF-1.7 ← 2006, the version ISO adopted as 32000-1 in 2008%PDF-2.0 ← ISO 32000-2, the first ISO-authored edition한 세대 차이가 나는, 같은 여덟 바이트입니다. 현대의 리더는 이 넷을 모두 열 수 있습니다. 이 포맷이 더 오래된 리더는 이해하지 못하는 것을 무시할 수 있도록, 그리고 더 새로운 리더는 이전 것과 호환을 유지하도록 설계되었기 때문입니다. 실제로 더 오래된 리더는 알 수 없는 기능을 대신 잘못 렌더링할 수도 있으므로, 그 보장은 절대적인 것이 아니라 설계상의 의도입니다. NextPDF는 기본적으로 이 가운데 마지막 것을 작성하며, 적합성 프로파일이 요청할 때 나머지를 작성할 수 있습니다.
흔한 오해
섹션 제목: “흔한 오해”함정은 버전 번호를 극적인 재발명의 이야기로 읽는 것입니다 — 마치 PDF 2.0이 PDF 1.7에 대해 영화의 속편과 같은 관계인 것처럼요. 그것은 오래된 참고서의 신중한 새 판본에 더 가깝습니다. 1993년 파일이 사용한 객체 모델, 상호 참조 테이블, 그리고 트레일러는 2.0 파일이 사용하는 것과 알아볼 수 있을 만큼 같은 기계 장치입니다. 30년에 걸쳐 변한 것의 대부분은 원래 설계 옆에 더해진 것이지, 뜯어내고 교체된 것이 아닙니다. 이 포맷은 유난히 보수적이며, 그 보수성이 핵심 전부입니다. 오늘 작성된 파일은 10년 뒤에도 여전히 열려야 하고, 10년 전에 작성된 파일은 오늘도 여전히 열려야 합니다.
두 번째 오해는 “ISO 32000-2는 표지만 새로운 Adobe의 사양”이라는 것입니다. 두 ISO 판본은 저작 측면에서 진정으로 다릅니다. PDF 2.0은 Adobe가 발행하고 나중에 비준되는 대신 ISO의 절차 안에서 만들어진 첫 판본이며, 그것이 왜 그것이 벤더의 기능 발표가 아니라 수십 년 누적된 규칙의 통합으로 읽히는지의 일부입니다.
한계와 경계
섹션 제목: “한계와 경계”이 페이지는 정밀한 변경 이력이 아니라 서술적 방향 제시입니다. 날짜는 연도 단위로 주어지며, “1.1부터 1.7까지”는 10년이 넘는 점진적 사양들을 의도적으로 한 줄로 압축합니다. 판본 간의 정확한 조항 수준 차이가 필요하다면, 그것은 다른 문서입니다.
| Edition | Availability |
|---|---|
| Core | Core는 기본적으로 PDF 2.0을 작성하며, 프로파일이 요구할 때 더 오래된 1.7 및 1.4 파일 구조를 직렬화할 수 있습니다. 그것은 이 버전들의 라이터이지, 박물관이 아닙니다. 그것은 다른 도구가 수십 년 전에 생성한 임의의 레거시 파일을 읽거나, 복구하거나, 충실하게 재구성하기로 약속하지 않습니다. |
| Pro | Available |
| Enterprise | Available |
NextPDF는 그 계보를 존중하는 PDF 2.0 엔진이지, 지금까지 만들어진 모든 PDF의 보편적 역사가는 아닙니다. 여기서의 동작은 그것이 작성하는 파일을, 그것이 대상으로 하는 판본에 고정하여 기술합니다. 그 파일들이 내부적으로 어떻게 구조화되는지, 그리고 2.0이 구체적으로 무엇을 바꿨는지는 아래 페이지에서 다룹니다.
미니 FAQ
섹션 제목: “미니 FAQ”PDF는 항상 읽기가 무료였나요? 아니요. 리더는 비교적 일찍 무료가 되었지만, PDF 1.0은 유료 제품으로 출시되었습니다. 무료 읽기, 유료 작성이 이 포맷을 보편화한 모델입니다.
PDF 2.0은 더 오래된 파일과의 호환성을 깼나요? 대체로 아닙니다. 공유 구조는 변하지 않았으며, 새 기능은 더 오래된 리더가 인식하지 못하는 것을 무시할 수 있도록 설계되었습니다. 2.0 전용 기능은 보통 1.7 리더에 의해 존중되지 않으며, 리더는 그것을 건너뛰거나, 기능과 리더에 따라, 불완전하게 폴백할 수 있습니다.
NextPDF는 왜 여전히 오래된 구조를 작성하나요? PDF 위에 빌드된 적합성 프로파일 — 특히 일부 PDF/A 레벨 — 이 더 오래된 파일 형태에 비추어 정의되었고 그것들을 요구하기 때문입니다. 과거는 폐기된 것이 아니라 지원되는 출력 대상입니다.
관련 문서
섹션 제목: “관련 문서”- PDF가 실제로 무엇인지 — 이 역사가 만들어 낸 객체 모델, 상호 참조 테이블, 그리고 트레일러.
- PDF 2.0: 무엇이 바뀌었나 — 1.7과 2.0 기준선 간의 조항 수준 차이.
- 표준 지형 — ISO 32000이 NextPDF가 추적하는 더 넓은 표준 연합 가운데 어디에 자리하는지.
- 보관과 PDF/A — 이 역사에서 나온 더 오래된 파일 구조가 왜 여전히 필수 출력 대상인지.
용어집
섹션 제목: “용어집”- PostScript — Adobe의 1984년 프린터용 페이지 기술 언어로, 완전한 프로그래밍 언어입니다. PDF는 그 그리기 모델은 물려받았지만 프로그래밍 가능성은 버렸습니다.
- Camelot — John Warnock의 1991년 메모에서 나온, PDF가 된 그 작업의 내부 프로젝트 이름입니다.
- PDF 1.0 — 1993년 Acrobat과 함께 출시된, 처음 발행된 PDF 사양입니다.
- ISO 32000-1 — PDF 1.7의 2008년 ISO 채택으로, 이 포맷이 개방된 국제 표준이 된 첫 번째입니다.
- ISO 32000-2 (PDF 2.0) — Adobe가 발행하는 대신 ISO 안에서 전적으로 작성되고 소유된 첫 PDF 판본입니다.
- 적합성 프로파일 — 기본 PDF 위에 층을 이루는 더 엄격한 표준(예를 들어 보관을 위한 PDF/A)으로, 흔히 특정한, 때로는 더 오래된 파일 구조에 비추어 정의됩니다.