Layout con flusso vincolato

HotPDF può collocare ogni pagina completata in una memoria con supporto file, applicare vincoli di interruzione di pagina dei paragrafi, esporre diagnostica di layout limitata, contrassegnare paragrafi semantici e artefatti di impaginazione e risolvere la direzione base del paragrafo prima di emettere testo a direzione mista

Scrittura immediata delle pagine

Impostare ImmediateFlushLayout prima di BeginDoc per i report il cui numero di pagine non è noto in anticipo

Quando una pagina viene chiusa, il suo flusso di contenuto finale compresso o non compresso passa dalla memoria a un flusso di file temporaneo di proprietà mentre l'oggetto PDF rimane disponibile per la normale finalizzazione dei riferimenti incrociati e delle risorse

ImmediateFlushedPageCount e ImmediateFlushedBytes segnalano la quantità di contenuto collocato e i file temporanei vengono eliminati al rilascio dei flussi proprietari

Impaginazione dei paragrafi

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;

Diagnostica di layout

THPDFLayoutDiagnostic registra il THPDFLayoutDiagnosticKind, gli indici delle pagine di origine e correlate, il rettangolo interessato, il numero di righe e un motivo in inglese per ogni decisione conservata

THPDFLayoutDiagnosticArray viene restituito da GetLayoutDiagnostics, mentre GetLayoutDiagnostic supporta l'accesso indicizzato senza allocare una copia

LayoutDiagnosticLimit limita i record conservati e LayoutDiagnosticDroppedCount segnala le decisioni scartate dopo quel limite

Direzione del paragrafo

THPDFParagraphDirection fornisce pdAuto, pdLeftToRight e pdRightToLeft

DetectParagraphDirection applica la risoluzione del primo carattere forte tra gli script RTL del piano BMP e di quelli supplementari, così che i prefissi neutri e le sequenze direzionali secondarie non scelgano la direzione base sbagliata

Utilizzare ConfigureParagraphDirection per un'impostazione persistente del paragrafo o la proprietà THPDFPara.Direction per il paragrafo attivo

Semantica dei paragrafi 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 emette una sequenza di marked-content /P standard con un MCID allocato, il cablaggio dell'albero padre della pagina e i valori opzionali /Lang e /ActualText

THPDFPaginationArtifactSubtype fornisce pasHeader, pasFooter, pasWatermark e pasPageNumber, emessi come contenuto /Artifact con /Type /Pagination e il sottotipo standard corrispondente

API correlate