네이티브 annotation XFDF 교환
HPDFHeadlessXFDF는 로드된 네이티브 PDF 그래프에서 매핑된 annotation을 내보내고, XFDF annotation 임포트를 독립적인 증분 리비전으로 준비합니다
UTF-8 XML 바이트에는 HPDFExportHeadlessAnnotationsXFDF를, 로드된 소스 그래프를 바꾸지 않고 기존 문서에 annotation을 추가하려면 SaveAnnotationsXFDFToFile을 쓰세요
매핑 annotation 프로파일
이 프로파일은 Text, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, StrikeOut, Squiggly, Stamp, Ink, Caret, FileAttachment, Sound, Redact, Link를 매핑합니다
공통 값으로는 페이지, 사각형, Unicode 콘텐츠, 작성자, annotation 이름, 날짜, 제목, 플래그, 불투명도, 색, 지원되는 테두리 속성이 있습니다
타입별 값으로는 사변형 좌표, 꼭짓점, 잉크 제스처, 선 끝과 리더 기하, FreeText intent/callout/fringe/기본 텍스트 속성, Redact 반복 상태, URI나 Named 링크 액션, named 또는 explicit 로컬 destination과 GoTo 액션이 있습니다
빈 색 구성 요소 배열은 투명 색을 보존합니다. Gray와 CMYK 소스 색은 XFDF RGB 값으로 매핑되고, RGB 구성 요소는 포맷의 여섯 자리 16진 표현으로 양자화됩니다
FileAttachment export는 Unicode 파일 이름을 우선하고, 임베드된 스트림이 없어도 외부 파일 메타데이터를 보존합니다. 임베드된 파일과 사운드 데이터는 제한된 정규 base64로 디코딩되어 빈 스트림을 포함해 실제 간접 스트림으로 임포트됩니다
Popup annotation은 중첩 popup 요소로 표현되고 간접 Parent, Popup, 페이지 링크와 함께 임포트됩니다. 답장은 기존 및 새로 추가된 annotation 이름에 대해 두 번째 패스에서 해석되며, 전방 참조도 포함입니다
리치 콘텐츠는 XHTML 네임스페이스, 순서 있는 혼합 텍스트, 상속된 네임스페이스 바인딩을 보존합니다
트랜잭션과 권한
임포트는 annotation을 추가하며, 발행 전에 중복 이름, 모호하거나 없는 답장 대상, 무효한 매핑 값을 거부합니다
실패하거나 취소된 임포트는 대상 파일과 로드된 소스 그래프를 보존합니다. 성공한 임포트도 로드된 소스를 변경하지 않으므로, 새 리비전을 채택하려면 저장된 파일을 로드하세요
export에는 추출 권한이, 임포트에는 annotation 권한이 필요합니다. AES-256 R5/R6 보안은 저장된 리비전에 남습니다
실제 인증 정책은 네이티브 서명 워크플로로 인증됩니다. P1과 P2는 annotation 변경을 막고, P3은 원본 서명 바이트를 보존하는 annotation 리비전을 허용합니다
한도
THPDFHeadlessXFDFOptions는 입력/출력 바이트, annotation 수, 그래프와 XML 노드, 깊이, 워킹 스토리지를 제한하며 협력적 취소를 지원합니다
매핑된 숫자는 유한해야 하고 절대값이 백만 이하여야 하며, 좌표 수, 불투명도, 샘플 크기 등 타입화된 값마다 추가 제약이 있습니다
문서 전체 XML 어드미션은 annotation 매핑 전에 인코딩, 네임스페이스, 중복 속성, 엔티티, 완전한 구조를 검사합니다. DTD와 외부 엔티티 처리는 비활성화되어 있습니다
연산 경계
이 프로파일은 임의의 AP appearance 스트림, 커스텀 annotation 사전, annotation 교체/제거, 원격 destination, 임의의 액션, FDF annotation 데이터를 전송하지 않습니다
annotation appearance 합성과 렌더링은 별도 연산입니다. 기하와 텍스트 속성을 임포트해도 AP 스트림이 만들어지지 않습니다
다른 소스 annotation 서브타입은 export 중 건너뛰고 결과에 집계됩니다. 매핑된 선택 값이 잘못되면 연산이 실패하고 부분적인 XML은 반환되지 않습니다
네이티브 Pascal API는 Windows와 Linux에서 동작합니다. 버전 지정 Linux C ABI는 콜백 기반 JSON annotation 연산도 노출하고, Windows 파일 잡과 V1 콜백은 같은 매핑 annotation 교환을 노출합니다
네이티브 Pascal API는 Windows와 Linux에서 동작합니다. 버전 지정 Linux C ABI도 콜백 기반 JSON 주석 연산을 노출하고, Windows 파일 작업과 V1 콜백도 같은 매핑 주석 교환을 노출합니다
명시적 주석 제거
페이지와 이름 기반 주석 제거는 별개의 연산입니다. 가져온 FDF나 XFDF에서 주석을 생략해도 삭제되지 않습니다
Widget 필드 트리 삭제와 보안 삭제에는 별개의 연산이 필요합니다. 증분 제거는 이전 PDF 바이트를 유지합니다