한국어

문서 · PDF 툴킷

PDF의 간략한 역사: Adobe의 Camelot 프로젝트에서 ISO 32000까지

· 배경

pdf 파일 형식 브라우저 처리 중

최신 브라우저 작업과 연결된 문서 형식 구조
원본 ToolAcre 벡터 일러스트레이션

PDF은 문서가 모든 화면과 프린터에서 동일하게 보이도록 하기 위한 시도로 시작되어 결국 개방형 ISO 표준이 되었습니다. 이 게시물에서는 해당 경로를 추적하고 형식 디자인이 오늘날 브라우저에서 형식을 다시 작성할 수 있게 된 이유를 설명합니다.

저장소는 PDF의 초기 기록이 아닌 이식 가능한 페이지 렌더링을 보여줍니다.

제공된 저장소는 실용적인 속성을 입증합니다. 하나의 PDF은 브라우저 환경에서 구문 분석 및 렌더링된 다음 눈에 보이는 페이지 콘텐츠를 유지하면서 다른 PDF로 다시 작성할 수 있습니다. 이러한 이식성은 형식이 발명된 이유에 대한 역사적 주장을 요구하지 않고도 병합, 분할, 회전, 워터마크 및 변환 코드에서 볼 수 있습니다.

페이지에는 규격, 회전, 리소스 및 규격 라이브러리가 해석하는 그리기 지침이 포함될 수 있습니다. ToolAcre는 쓰기에는 pdf-lib를, 렌더링에는 pdf.js를 사용합니다. 이러한 종속성은 실행 가능한 구조화된 형식을 보여주는 반면 저장소는 초기 프린터, 글꼴 또는 워드 프로세서 기록을 문서화하지 않습니다.

프로젝트 Camelot 기록이 제공된 구현 소스 외부에 있습니다.

통합 문서에는 Camelot과 원래 디자인 비전이 명시되어 있지만 필수 소스 파일 중 어느 것도 이러한 사실을 입증하지 않습니다. 그것들을 반복하면 개요가 인용되지 않은 역사로 바뀔 것입니다. 따라서 이 섹션에서는 제조 날짜, 인용문 또는 프로젝트 동기보다는 증거 경계를 표시합니다.

해당 역사를 찾는 독자는 기본 Adobe 출판물이나 관련 표준 기록을 참조해야 합니다. 제품 소스는 현재 코드가 수행하는 작업에 대해 답할 수 있습니다. 즉, 선택한 파일을 수락하고, 페이지를 구문 분석하고, 복사 또는 변환하고, 출력을 로컬로 직렬화합니다. 단순히 PDF로 동작한다는 이유만으로 기업의 원산지 스토리를 인증할 수는 없습니다.

사양 발행 날짜 및 ISO 기록은 인용된 표준 소스 없이 생략됩니다.

독점 및 공개 사양 전환 또는 특정 ISO 발행 연도에 대한 주장에도 동일한 경계가 적용됩니다. 이는 권위 있는 외부 인용이 필요한 표준 기록 설명입니다. 작업에서는 표준이나 해당 기관의 타임라인이 아닌 구현 및 구성 파일을 제공했습니다.

여기서 확인할 수 있는 것은 라이브러리 경계에서의 상호 운용성입니다. pdf.js는 썸네일 및 래스터 출력을 위해 페이지 콘텐츠를 해석할 수 있습니다. pdf-lib는 문서 생성, 페이지 복사, 회전 설정, 표시 그리기 및 이미지 삽입 등을 수행할 수 있습니다. 결과 파일은 개별 뷰어가 열 수 있도록 일반 PDF로 제공됩니다.

버전별 기능 기록이 저장소 증거 외부에 있습니다.

버전별 암호화, 투명성, 태그 지정 또는 호환성 추가 목록에도 마찬가지로 사양 소스가 필요합니다. 툴킷은 일부 현재 기능을 처리하는 방법만 공개합니다. 즉, 암호화된 파일은 거부되고 주석과 양식은 페이지 복사 출력에 보존되지 않으며 텍스트 워터마크는 내장된 라틴 글꼴을 사용합니다.

이러한 제한은 "PDF 지원"이 결코 하나의 이진 속성이 아님을 나타냅니다. 애플리케이션은 선택된 작업과 구조를 지원합니다. 뷰어는 편집자가 보존하지 않은 것을 렌더링할 수 있으며, 편집자는 모든 하위 시스템을 보유하지 않고 새로운 문서를 작성할 수 있습니다. 보증을 위해 형식 기록을 호출하는 대신 제품 문서에 해당 경계의 이름을 지정해야 합니다.

디자인이 브라우저 도구에 중요한 이유 — JavaScript가 로컬에서 구문 분석하고 다시 작성할 수 있는 자체 설명적 객체 구조

브라우저 도구는 라이브러리가 바이트를 구조화된 문서로 구문 분석하고 의도적인 작업을 통해 새 바이트를 생성할 수 있기 때문에 작동합니다. 병합은 페이지를 새 문서로 복사합니다. 분할은 범위당 하나의 새 문서를 생성합니다. 회전은 추가 페이지 메타데이터를 조정합니다. 워터마크가 콘텐츠를 그립니다. 이미지 변환은 페이지를 래스터화하거나 준비된 이미지를 포함합니다.

작업자는 로컬 특성을 변경하지 않고 반응형으로 대부분의 변환을 수행합니다. PDF-to-image는 책임을 나눕니다. pdf.js는 작업자를 통해 구문 분석하는 반면 캔버스 인코딩은 기본 스레드에 남아 있습니다. 그런 다음 브라우저는 원격 변환 서비스에 의존하는 대신 로컬 다운로드를 위해 결과를 Blob 및 ZIP으로 패키징합니다.

보관 프로필 및 기타 적합성 하위 집합에는 외부 표준 소스가 필요합니다.

통합 문서 이름은 PDF/A 및 기타 프로필이지만 제공된 소스에는 유효성 검사기, 적합성 선언 또는 표준 텍스트가 포함되어 있지 않습니다. 이 툴킷은 보관 프로필을 보존하거나 생성하는 것으로 제시되어서는 안 됩니다. 새로운 직렬화는 표시되는 페이지 외부의 속성을 변경할 수 있으며 레코드 정책에서 요구하는 경우 별도로 유효성을 검사해야 합니다.

해당 누락은 운영상 중요합니다. 병합 후 파일이 성공적으로 열렸다고 해서 보관, 접근성 또는 인쇄 제작 적합성이 입증되지는 않습니다. 해당 질문에 대해서는 특수 유효성 검사기와 기본 프로필 문서를 사용하세요. ToolAcre의 지원 약속은 외부 사양에 대한 인증이 아닌 명시된 제한 하에서 페이지 수준 변환을 유지합니다.

이 문서는 툴킷 소스에서 확인된 동작을 유지합니다.

이 기사는 공식적인 표준이나 역사서에 대한 압축된 대체를 시도하지 않습니다. 지원되지 않는 마일스톤, 기능 연대기, 시청자가 알 수 없는 버전을 처리하는 이유에 대한 주장이 생략되었습니다. 저장소는 검토 중인 툴킷 동작에 대해서만 신뢰할 수 있습니다.

이러한 제한은 기술적인 글쓰기를 향상시킵니다. 독자는 현재 사용을 안내할 수 있는 사실, 즉 파일이 로컬로 유지되고, 하드 캡이 적용되고, 작업자가 대부분의 변환을 수행하고, 래스터화에서 텍스트가 손실되고, 페이지 복사에서 주요 문서 구조가 생략되고, 암호화된 입력이 중지되는 등 정확히 어떤 사실을 알게 됩니다. 이러한 사실 중 어느 것도 발명된 역사적 다리가 필요하지 않습니다.

구조화된 페이지 작업은 로컬에서 가능합니다. 역사적 인과관계는 주장되지 않는다

구조화된 PDF 페이지는 로컬에서 구문 분석하고 다시 쓸 수 있습니다. ToolAcre는 이를 직접적으로 보여줍니다. 이 형식을 가능하게 한 역사적 원인을 설명하지 않으며 이 기사에서는 그렇지 않은 척하지도 않습니다. 출처에 기반을 둔 산문은 뒷받침되지 않는 우아한 서술보다는 좁고 참된 설명을 선호해야 합니다.

최신 페이지 작업의 실제 예로 툴킷을 사용한 다음, 연대순 또는 적합성에 대한 권위 있는 표준 및 아카이브 소스를 참조하세요. 배경 연구에서 구현 증거를 분리하면 두 가지 모두 유용하게 유지됩니다. 즉, 코드는 현재 동작을 설명하고 적절한 역사적 소스는 다른 곳에서 날짜와 제도적 결정을 설정할 수 있습니다. 또한 종속성이나 작업 코드가 변경될 때마다 구현 주장을 다시 테스트할 수 있기 때문에 이 분할은 제품 ​​문서를 유지 관리 가능하게 유지합니다. 이는 둘 다 동일한 파일 형식을 언급한다는 이유만으로 관련되지 않은 기록 주장을 검증하기 위해 향후 코드 업데이트가 나타나는 것을 방지합니다. 이후의 역사 기사에서는 구현에 초점을 맞춘 설명을 변경하거나 증거 표준을 약화시키지 않고도 기본 인용과 함께 해당 사실을 추가할 수 있습니다.