네이티브 Linux HTML, 편집, OCR 및 아카이브 워크플로

네이티브 Linux 콜백 ABI는 schemaVersion 1과 기존 출력·결과·작업 바이트·픽셀 예산으로 html.import, text.draw, ocr, pdfa.convert를 받습니다

HTML 임포트

{"schemaVersion":1,"type":"html.import","html":"<h1>Invoice</h1><p>Searchable Unicode</p>","createAcroForms":true}

HTML 임포트는 빈 핸들에서 동작하고 네이티브 드로잉 캔버스, Fontconfig 매칭, 임베디드 Unicode TrueType 폰트, HarfBuzz/FriBidi 셰이핑, PNG/JPEG/BMP/GIF 리소스, 알파 마스크, 하이퍼링크, 페이지 매김, AcroForm 컨트롤을 갖춘 공유 HTML5/CSS 레이아웃 엔진을 씁니다

ABI는 인라인 data 리소스를 받습니다. 네트워크나 파일 리소스 콜백을 설치하지는 않지만, Pascal 호출자는 명시적 폰트·이미지·스타일시트 리소스를 위해 기존 임포터 콜백을 공급할 수 있습니다

선택적 pageWidth와 pageHeight는 포인트를 씁니다. maxPages와 maxLayoutOperations는 양수여야 하고, DOM, CSS, 리소스, 이미지 할당도 연산 예산을 따릅니다

페이지 텍스트 편집

{"schemaVersion":1,"type":"text.draw","page":0,"text":"Searchable Unicode","left":36,"bottom":36,"right":559,"top":108,"fontFamily":"DejaVu Sans","fontSize":12,"invisible":true}

삽입은 간접 참조된 콘텐츠 배열을 포함해 원본 페이지 스트림을 유지하고 전용 리소스 이름으로 임베디드 Unicode 폼 appearance를 덧붙입니다. 보이지 않는 텍스트는 렌더링 모드 3을 쓰며 검색 가능하게 남습니다

좌표는 회전하지 않은 PDF 사용자 공간 포인트입니다. characterSpacing과 wordSpacing은 포인트를 쓰고, 인증된 AES-256 교체는 암호화, 암호, 권한을 유지합니다

Pascal AppendPageText API는 90도 단위 appearance 회전과 명시적 사각형 맞춤도 받습니다

실제 OCR

{"schemaVersion":1,"type":"ocr","pages":[0],"language":"eng","dpi":216,"searchLayer":true,"maxMilliseconds":120000}

OCR은 실제 페이지 픽셀을 렌더링하고 설치된 Tesseract 실행 파일을 인자 벡터로 직접 호출한 뒤, 유한한 TSV 단어를 읽어 UTF-8, 신뢰도, 페이지 좌표를 검증하고 회전·크롭된 페이지 지오메트리를 PDF 좌표로 되돌려 매핑합니다

결과에는 페이지별 단어에 text, confidence, left, bottom, right, top이 들어갑니다. searchLayer false는 인식 데이터를 반환하고, true는 맞춤 보이지 않는 임베디드 폰트 텍스트가 들어간 PDF까지 내보냅니다

선택적 tesseractPath는 실행 파일을 명시적으로 고릅니다. maxWords, minimumConfidence, maxMilliseconds가 인식을 묶고, 취소나 타임아웃은 실행 중인 프로세스를 종료하고 정리합니다

네이티브 PDF/A-4 래스터 출력

{"schemaVersion":1,"type":"pdfa.convert","profile":"PDF/A-4","dpi":144}

네이티브 래스터 변환은 구워진 페이지 회전, PDF/A-4 XMP, 문서 식별자, 생성된 임베디드 sRGB output intent를 갖춘 암호화되지 않은 새 PDF 2.0 페이지를 작성합니다. 현재 검수에는 실패한 규칙과 검사가 0개인 독립 veraPDF 검증이 포함됩니다

출력은 원본 텍스트와 벡터를 래스터화하고 보이는 appearance를 평탄화하며 소스 메타데이터를 교체하고 인터랙티브 field, 액션, 첨부, 서명을 버립니다. 결과는 rasterized, removedFormFields, removedSignatures를 보고합니다

서명된 입력에는 명시적 allowSignatureInvalidation true가 필요합니다. 보이는 주석은 평탄화 전에 쓸 만한 normal appearance가 필요하고, 네이티브 텍스트/벡터 보존이 진짜 검증이 붙은 검색 가능한 변환 모드를 제공합니다

명시적 아카이브 폰트 복구는 유한한 Ghostscript 정규화로 쓸 수 있는 대체 폰트를 임베드하고, 검색 가능한 텍스트와 벡터를 유지하며, 발행 전에 PDF/A-4를 검증합니다

발행과 런타임

모든 binary 출력은 콜백 전에 준비됩니다. 생성되거나 편집된 문서는 출력과 JSON 콜백이 성공한 뒤에만 핸들을 교체하고, 실패는 이전 컨텍스트를 유지합니다

네이티브 HTML에는 FCL 이미지 리더, Fontconfig, 설치된 Unicode TrueType 폰트, HarfBuzz, FriBidi가 필요합니다. OCR에는 Tesseract와 학습된 언어 데이터가 추가로, 아카이브 프로파일 생성에는 Little CMS 2가 필요합니다

콜백 ABI · 네이티브 드로잉 캔버스 · Pascal OCR API · Pascal 아카이브 API

선택한 페이지 덧붙이기와 텍스트/벡터 보존 PDF/A-4 출력 검증