제한된 스트리밍 레이아웃

HotPDF는 완료된 각 페이지를 파일 기반 저장소에 준비하고, 단락 페이지 나누기 제약을 적용하고, 경계가 지정된 레이아웃 진단을 노출하며, 의미론적 단락과 페이지 매김 아티팩트를 표시하고, 혼합 방향 텍스트를 내보내기 전에 단락 기본 방향을 결정할 수 있습니다

즉각적인 페이지 플러시

페이지 수를 미리 알 수 없는 보고서의 경우 BeginDoc 전에 ImmediateFlushLayout을 설정하세요

페이지가 닫히면 해당 페이지의 최종 압축 또는 압축 해제된 콘텐츠 스트림이 메모리에서 소유된 임시 파일 스트림으로 이동하는 동시에 PDF 객체는 정상적인 교차 참조 및 리소스 확정에 계속 사용할 수 있습니다

ImmediateFlushedPageCount와 ImmediateFlushedBytes는 준비된 콘텐츠의 양을 보고하며, 임시 파일은 해당 파일을 소유한 스트림이 해제될 때 삭제됩니다

단락 페이지 매김

ParagraphIndex := PDF.CreateParagraph(0, jtLeft, 36, 36, 36, 36);
PDF.ConfigureParagraphPagination(ParagraphIndex, True, 2, 2);
PDF.ConfigureParagraphDirection(ParagraphIndex, pdAuto);
PDF.BeginParagraph(ParagraphIndex);
PDF.CurrentParagraph.ShowUnicodeText(BodyText);
PDF.EndParagraph;

레이아웃 진단

THPDFLayoutDiagnostic은 THPDFLayoutDiagnosticKind, 소스 및 관련 페이지 인덱스, 영향을 받는 사각형, 줄 수, 그리고 유지된 각 결정에 대한 영어 이유를 기록합니다

THPDFLayoutDiagnosticArray는 GetLayoutDiagnostics에 의해 반환되며, GetLayoutDiagnostic은 복사본을 할당하지 않고 인덱스 접근을 지원합니다

LayoutDiagnosticLimit은 유지된 레코드 수를 제한하고 LayoutDiagnosticDroppedCount는 해당 한도 이후에 버려진 결정 수를 보고합니다

단락 방향

THPDFParagraphDirection은 pdAuto, pdLeftToRight, pdRightToLeft를 제공합니다

DetectParagraphDirection은 BMP 및 보조 평면 RTL 스크립트 전체에 첫 번째 강한 문자 방향 결정을 적용하므로, 중립 접두사와 보조 방향 실행이 잘못된 기본 방향을 선택하지 않습니다

영구적인 단락 설정을 위해 ConfigureParagraphDirection을 사용하거나 활성 단락을 위해 THPDFPara.Direction 속성을 사용하세요

PDF/UA 단락 의미론

Root := PDF.AddStructureElement('Document', nil);
Paragraph := PDF.BeginTaggedParagraph(Root, 'en-US', 'Accessible text');
PDF.CurrentPage.TextOut(36, 72, 0, WideString('Accessible text'));
PDF.EndTaggedParagraph;

PDF.BeginPaginationArtifact(pasHeader);
PDF.CurrentPage.TextOut(36, 20, 0, WideString('Running header'));
PDF.EndPaginationArtifact;

BeginTaggedParagraph은 할당된 MCID, 페이지 부모 트리 연결, 선택적 /Lang 및 /ActualText 값을 갖춘 표준 /P 마크된 콘텐츠 시퀀스를 내보냅니다

THPDFPaginationArtifactSubtype은 pasHeader, pasFooter, pasWatermark, pasPageNumber를 제공하며, /Artifact 콘텐츠로 /Type /Pagination과 일치하는 표준 하위 유형과 함께 내보냅니다

관련 API