자동 XFA 푸시 버튼 캡션과 상태
HPDFXFAWriteHeadlessPDF는 XFA 레이아웃에서 실제 네이티브 푸시 버튼 위젯을 만듭니다. 유효한 스칼라 또는 XHTML 캡션, 공급된 폰트 프로그램, 가시성, readonly 플래그, 인터랙티브 하이라이트 메타데이터가 포함됩니다
각 위젯은 FT Btn과 pushbutton Ff 플래그, 명시적 normal appearance, 실제 렌더링 콘텐츠에서 유도된 Unicode MK.CA 캡션을 갖습니다. 버튼이 텍스트 입력 field가 되지 않고 플레이스홀더 PDF field도 필요하지 않습니다
보이는 normal 캡션은 폰트 별칭이 AcroForm.DR을 통해 실제 normal 캡션 Type0 폰트로 해석되는 DA 항목도 유지합니다. 호환성을 위한 빈 플레이스홀더 폰트는 임베드하지 않습니다
캡션 콘텐츠와 레이아웃
스칼라 캡션 폰트의 size, weight, posture, typeface, color와 XHTML 인라인 스타일, 섞인 베이스라인은 기존 네이티브 리치 텍스트 디코더와 appearance 빌더를 씁니다
CaptionFontFamilies는 실제 regular, bold, italic, bold-italic 프로그램과 이름 붙은 패밀리를 공급합니다. 페이스는 절대 합성되지 않고 폰트 프로그램을 찾아 내거나 내려받지도 않습니다
XHTML 인라인 요소 사이의 공백뿐인 텍스트는 유지되므로, 인접한 다른 스타일 단어가 작성된 구분자를 유지합니다
캡션 콘텐츠가 없으면 기존 field 이름 폴백을 유지하고, 명시적으로 빈 콘텐츠는 빈 채로 남으며, 비어 있지 않은 스칼라 캡션은 작성된 선행·후행 공백을 유지합니다. hidden, inactive, invisible 캡션은 텍스트를 그리지 않고 재생성 가능한 보이는 캡션도 직렬화하지 않습니다
field·캡션 margin, 캡션 배치, reserve, 문단 정렬이 실제 캡션 영역을 정합니다. 없는 reserve, 0, 스키마 기본값 -1은 자동 줄바꿈 없이 자연 크기를 쓰고, 양수 reserve는 줄바꿈을 허용하며, 인라인 배치는 reserve를 무시합니다
고정 field 경계는 너무 큰 캡션을 잘라냅니다. 명시적 문단 나눔은 계속 유효하고, 유효한 인스턴스별 오버레이는 바뀌지 않은 템플릿 형제를 유지합니다
하이라이트와 상태 appearance
| XFA 하이라이트 | 네이티브 PDF 결과 |
|---|---|
| inverted 또는 없음 | normal AP.N을 쓰는 H I. 리더가 반전 활성 처리를 적용합니다 |
| none | normal AP.N을 쓰는 H N |
| outline | normal AP.N을 쓰는 H O. 리더가 프레임 활성 처리를 적용합니다 |
| push | 실제 normal AP.N, down AP.D, rollover AP.R Form을 쓰는 H P. down 캡션은 눌린 모양을 나타내도록 이동합니다 |
push 모드에서 down과 rollover라는 이름의 스칼라 item이 각자의 캡션과 MK.AC 또는 MK.RC 메타데이터를 공급합니다. 없는 상태 item은 normal 캡션을 쓰고, 명시적으로 빈 item은 빈 상태를 만듭니다
대체 item은 다른 하이라이트 모드에 영향을 주지 않고, 생성된 상태마다 자기만의 실제 appearance와 공급 폰트 그래프를 유지합니다
트랜잭션과 한도
실제 반복 인스턴스 이벤트 변경은 XDP로 저장하고 다시 읽어 생성자가 소비할 수 있습니다. 즉시 읽기, 오버레이와 전체 페이로드 교체, 첫 인스턴스 격리, 실패 이벤트 롤백은 네이티브 런타임 연산으로 남습니다
소스 노드와 바이트, 폰트 프로그램, 글리프 유닛, 객체, 후보 바이트는 한도가 매겨집니다. 취소와 준비 실패는 호출자 스트림의 바이트, 길이, 위치를 보존합니다
호출자 스트림에 마지막으로 쓰는 것이 커밋 경계입니다. 쓰는 중 그 스트림이 낸 예외는 부분 쓰기를 남길 수 있으며 롤백된 seek 불가능 대상으로 표현되지 않습니다
이 소비자는 저장된 위젯 appearance 상태를 만듭니다. 이후 리더 주도 XFA 스크립트 실행이나 appearance 재구축, 리치 대체 item 콘텐츠, 버튼 아이콘, 외부 미디어, 임의 외부 XML 렌더링은 별도 기능으로 남습니다
하이라이트와 캡션 reserve 매핑은 XFA 3.3 button과 caption 의미론을 따릅니다