Windows 주석 제거
일반 로드된 Windows 문서는 THPDFWindowsFormDataTransaction.RemoveAnnotations로 네이티브 정책 엔진을 통해 주석 제거를 준비합니다
현재 문서와 로드된 리비전과 정확히 일치하는 원본 소스로 트랜잭션을 만들면, 브리지가 비공개로 현재 그래프를 준비하고 별도의 후보를 로드합니다
0-기반 페이지와 정확한 Unicode 이름 identity로 주석을 고르고, ChangedAnnotations를 살핀 뒤 WritePreparedPDF로 준비된 PDF를 복사합니다
TakeCandidate로 소유권을 넘기기 전에 필요한 모든 PDF와 결과 데이터를 게시합니다. 실패한 트랜잭션은 호출자의 문서나 소스를 교체하지 않고 버립니다
제거 카운터에는 캐스케이드되는 팝업과 답글 제거가 포함되며, 기존 매핑 XFDF 가져오기 메서드의 append-count 계약을 바꾸지 않습니다
파일 작업
일반 JSON 작업 진입점은 type: "annotations.remove", 소스 input 경로, 별개의 output 경로, annotations identity 배열을 받습니다
{
"schemaVersion": 1,
"type": "annotations.remove",
"input": "source.pdf",
"output": "removed.pdf",
"annotations": [{"page": 0, "name": "review-note"}]
}
작업은 목적지를 원자적으로 교체하기 전에 임시 PDF를 준비하고 플러시합니다. 교체 전 실패는 목적지를 보존하고 소유한 임시 파일을 정리합니다
결과에는 removed, mediaType: "application/pdf", annotationProfile: "page-and-nm-removal-v1"이 담깁니다. 일치하지 않는 요청은 0을 반환하고 현재 PDF 바이트를 유지합니다
Windows C ABI 호출자는 콜백 IO로 같은 제거 스키마를 쓸 수 있습니다. 명시적 입력 IO는 PDF와 결과 게시가 모두 성공할 때까지 핸들의 현재 문서와 독립적으로 준비됩니다
이미 쓰인 싱크 바이트와 핸들의 커밋된 문서 상태의 구별은 콜백 연산과 커밋 상세를 참고하세요
경계
Widget에는 필드 트리 삭제 정책이 필요하며 이 페이지 주석 연산은 거부합니다. 증분 제거는 과거 바이트를 유지하며 보안 삭제로 쓰여서는 안 됩니다
암호화 권한, certification 제한, 작업 예산, 취소는 Windows 브리지에서도 계속 적용됩니다