Annotation XFDF destination
네이티브 annotation XFDF, Windows 파일 잡과 V1 콜백, 네이티브 Linux V1 콜백은 Link annotation 안의 named destination과 로컬 explicit 페이지 대상을 보존합니다
직접 Dest는 annotation의 PDF destination 객체로 매핑되고, OnActivation/Action/GoTo/Dest는 로컬 GoTo 액션으로 매핑됩니다. 페이지 인덱스는 0 기반이며 임포트 중 실제 간접 페이지 객체에 바인딩됩니다
| 대상 | 속성 |
|---|---|
| Named | Name, Unicode와 리터럴 PDF-name 이스케이프 문자를 보존 |
| Fit, FitB | Page |
| FitH, FitBH | Page, Top |
| FitV, FitBV | Page, Left |
| FitR | Page, Left, Bottom, Right, Top |
| XYZ | Page와 선택적 Left, Top, Zoom |
속성 모델은 Adobe의 XML Forms Data Format Specification, Version 3.0 인쇄본 59-68쪽과 88쪽을 따릅니다. PDF destination 의미론은 ISO 32000에 정의되어 있습니다
정규 XYZ export는 PDF 객체가 null인 좌표를 생략합니다. 생략된 선택 좌표는 뷰어의 현재 좌표나 줌을 유지하고, 줌 0은 표준 PDF 의미를 유지합니다
호환성 프로파일은 리터럴 null과 빈 좌표 속성도 null 값으로 받습니다. 필수 FitH/FitV/FitBH/FitBV 속성은 PDF 객체가 null이면 리터럴 null로 출력되며, ISO 스키마 인증 주장은 없습니다
FitR은 네 개의 숫자 경계가 전부 필요합니다. 다른 Fit 모드에서 필수 속성을 생략할 수 없고, Page는 기존 페이지를 식별하는 10진 정수여야 합니다
정밀도와 경계
정규화된 Adobe 요소 이름과 상속된 네임스페이스 바인딩은 같은 대상을 보존합니다. 외부 destination 네임스페이스와 중복 XML 속성은 annotation 생성 전에 거부됩니다
좌표는 유한해야 하고 절대값이 1000000 이하인 정확한 10진수여야 하며, 줌은 음수가 아니어야 합니다. 숫자 입력과 확장된 10진 출력은 8192자로 제한됩니다
부호 있는 10진수와 과학적 표기법은 그 한도 안에서 받아들인 뒤, 지수 표기 없는 PDF 10진 토큰으로 씁니다. 소스 토큰은 레거시 공개 Single 값이 반올림되거나 언더플로해도 작성된 정밀도를 유지합니다
저장된 PDF 재로드와 이후 XFDF export는 유지된 10진 토큰을 보존합니다. 좌표 한도에 가까운 긴 소수부도 포함입니다
트랜잭션과 콜백
네이티브 파일 트랜잭션은 발행 전에 대상을 검증하고, 실패 시 로드된 그래프와 이전 대상을 보존하며, 기존 annotation·객체·깊이·바이트·워킹 스토리지 예산을 씁니다
Windows와 Linux JSON 진입점은 기존 V1 연산 레코드를 통해 같은 매핑 코덱을 씁니다. 콜백 실패나 취소는 이전에 커밋된 PDF를 유지하며, 호출자 소유 콜백 싱크는 후보 바이트를 받았을 수 있습니다
실패한 쓰기 콜백은 별칭 출력이나 결과 싱크로 재시도되지 않습니다. 두 핸들 비교에도 같은 규칙이 적용되고, 정의되지 않은 쓰기 상태 값은 표준 IO 오류 상태가 됩니다
공유 HPDFXFDF 코덱은 새 오버로드에서 별도의 destination 콜백 레코드를 받습니다. 레거시 액세스 레코드 레이아웃은 변경되지 않습니다
THotPDF 로드 annotation 메서드는 이 콜백을 자동으로 바인딩합니다. 코덱을 직접 호출하는 쪽은 explicit 대상에 페이지 수와 페이지 리졸루션을 공급해야 합니다
경계
이 프로파일은 로컬 GoTo와 destination 데이터를 액션 실행 없이 매핑합니다. 원격 GoToR, Launch, 임의의 액션 사전, destination 이름 트리 작성, AP 전송, annotation 교체/제거는 별도 기능으로 남습니다