번역 PDF 출처 기록
px.DocumentTranslatedPdf는 번역 PDF의 출처를 담는 불변 값입니다. 원본 PDF·분석·번역 결과, 선택한 원본 페이지, 레이아웃·렌더 설정과 출력 PDF를 정확한 digest로 연결합니다. content_ref는 이 출처 기록의 식별자이고 pdfContentRef는 PDF 파일 bytes의 식별자입니다. 같은 PDF bytes에도 서로 다른 출처 기록이 있을 수 있습니다.
이 값의 API는 출처 기록의 검증·직렬화·원본 연결을 제공합니다. PDF 생성, 읽기 권한, 검토 승인이나 Report 반영을 수행하지 않습니다. 파일 bytes와 함께 Project에 보존하려면 client.retain_translated_pdf를 사용합니다. client.retain_document는 이 타입을 받지 않습니다.
저장 bytes 열기
from pathlib import Path
from pipelinexlab import px
translated_pdf = px.DocumentTranslatedPdf(Path("translated-pdf.json").read_bytes())Core가 버전과 닫힌 형식, 참조 digest, 파일 크기와 페이지 선택을 검증합니다.
dict 검증
translated_pdf = px.DocumentTranslatedPdf.from_wire(renderer_provenance)
Path("translated-pdf.json").write_bytes(translated_pdf.canonical_bytes)document-translated-pdf.v1.schema.json이 문서 형식을 정의합니다. sourcePageIndices는 0부터 시작하는 원본 페이지 번호의 비어 있지 않은 집합입니다. 중복을 거절하고 오름차순으로 정규화합니다. 출력 PDF의 페이지 순서나 좌표를 뜻하지 않습니다. layoutDigest는 렌더러의 불변 레이아웃 결과를, renderProfileDigest는 기존 렌더 프로파일을 고정합니다. 이 값만으로 해당 파일의 존재나 실제 렌더링을 인증하지 않습니다.
복사본 읽기
provenance = translated_pdf.to_dict()dict 수정은 저장된 값을 바꾸지 않습니다. 원본·분석·번역·레이아웃·프로파일 또는 PDF bytes의 참조가 달라지면 출처 기록의 content_ref도 달라집니다. 기존 다섯 필드의 Report PDF revision은 별도 계약으로 유지합니다.
원본과 번역에 연결
analysis = px.DocumentAnalysis(Path("analysis.json").read_bytes())
translation = px.DocumentTranslation(Path("translation.json").read_bytes())
provenance = translated_pdf.resolve(analysis, translation)정확한 원본·분석·번역 참조, 실제 페이지 범위와 번역에 사용된 원문 구간의 페이지 포함 여부를 검증합니다. 반환 dict에는 저장 필드와 함께 sourceLanguage, targetLanguage, analysisProcessorRef, translationProcessorRef가 있습니다. 엔진·모델·설정은 참조된 기존 분석·번역 값에 보존되며, 언어 구조는 출시 언어 목록과 독립적입니다. 재추출·재번역된 값으로 암묵적으로 연결하지 않습니다.
거절은 px.Error와 ValueError로 처리할 수 있습니다. 구조화된 .diagnostics와 native의 .diagnostic, 복구용 .original_bytes를 유지합니다.