COS란?
COS(Carousel Object Syntax)는 다음에서 사용되는 구문입니다: PDF 및 FDF 파일에서 사용되며, 다음에 자세히 문서화되어 있습니다: ISO 32000-2:2020. PDF 파일의 내부 구조를 살펴보면 COS를 확인할 수 있습니다.
"Carousel"은 이 구문이 처음 도입되었을 때 Acrobat 1.0의 코드명이었습니다.
여덟 가지 COS 객체 유형
COS의 문법은 작고, PDF의 거의 모든 것은 여덟 가지 기본 객체 유형 중 하나입니다. 이들을 알아볼 수 있게 되면 PDF 내부가 더 이상 잡음처럼 보이지 않습니다:
- 불리언과 숫자는 그대로 텍스트로 작성됩니다.
- 문자열은 둥근 괄호 안에, 또는 각괄호 안의 16진수로 작성됩니다.
- 이름(Name)은 \/Type 또는 \/Page처럼 슬래시로 시작합니다.
- 배열은 대괄호로, 사전(dictionary)은 이중 각괄호로 둘러싸입니다.
- 스트림(stream)은 사전에 이어지는 원시 또는 압축된 바이트 블록입니다.
- null 객체.
페이지 콘텐츠, 폰트, 이미지와 메타데이터 는 모두 이러한 요소들로 구성됩니다. 스트림은 압축된 페이지 설명과 임베디드 이미지 데이터를 담고 있기 때문에 파일 데이터의 대부분을 포함합니다.
객체를 다시 찾는 방법
객체에는 번호가 매겨지고, 파일 끝에 있는 교차 참조 테이블이 각 객체의 바이트 오프셋을 기록합니다. 리더는 파일 끝에서 시작해 트레일러를 읽고, 교차 참조 테이블을 찾은 다음 필요한 객체로 바로 이동합니다. 그래서 PDF는 처음부터 끝까지 모두 파싱하지 않고도 열 수 있습니다. 이후 버전에서는 이 테이블을 압축된 객체 스트림 으로 저장할 수 있고, 증분 업데이트 는 첫 번째 테이블을 다시 쓰지 않고 두 번째 테이블을 이어 붙입니다.