제한된 스트리밍 레이아웃
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;
KeepWithNext는 단락이 다음 콘텐츠를 위해 남겨두어야 할 마지막 줄을 소비하려 할 때 단락을 이동합니다MinOrphanLines는 페이지 하단에 너무 적은 시작 줄이 남는 것을 방지합니다MinWidowLines는 다음 페이지에 너무 적은 끝 줄이 남을 때 나누기를 앞당깁니다- 자동 연속은 원본 페이지 너비, 높이, 글꼴, 여백 및 단락 설정을 보존합니다
ParaAutoAddPage가 false이면 오버플로가 현재 페이지에서 중지되고ldkOverflow진단이 생성됩니다
레이아웃 진단
THPDFLayoutDiagnostic은 THPDFLayoutDiagnosticKind, 소스 및 관련 페이지 인덱스, 영향을 받는 사각형, 줄 수, 그리고 유지된 각 결정에 대한 영어 이유를 기록합니다
THPDFLayoutDiagnosticArray는 GetLayoutDiagnostics에 의해 반환되며, GetLayoutDiagnostic은 복사본을 할당하지 않고 인덱스 접근을 지원합니다
LayoutDiagnosticLimit은 유지된 레코드 수를 제한하고 LayoutDiagnosticDroppedCount는 해당 한도 이후에 버려진 결정 수를 보고합니다
ldkAutomaticPageBreak는 일반적인 연속을 보고합니다ldkKeepWithNext,ldkOrphanControl,ldkWidowControl은 나누기를 이동시킨 제약을 식별합니다ldkOverflow는 비활성화된 자동 페이지 매김에 의해 중지된 콘텐츠를 식별합니다ldkImmediateFlush는 파일 기반 저장소로 이동된 닫힌 페이지를 식별합니다
단락 방향
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과 일치하는 표준 하위 유형과 함께 내보냅니다