function GetStructuredText(
const Options: TPdfStructuredTextOptions): TPdfStructuredTextPage;
GetStructuredText citește scalari Unicode, casete de caractere, dimensiunea fontului, grosimea fontului, numele fontului, unghiul și identitatea obiectului de text prin API-urile native de text ale PDFium
Caracterele devin fragmente stilizate, fragmentele devin rânduri fizice, rândurile înrudite orizontal devin blocuri, iar textul blocurilor este unit în câmpul Text la nivel de pagină
Fiecare scalar nativ este păstrat ca UTF-16, inclusiv caracterele din planul suplimentar reprezentate prin perechi de surogate
ReadingOrder — roPhysicalLayout grupează geometria de sus în jos și de la stânga la dreapta; roContentOrder păstrează secvența nativă a fluxului de conținutIncludeFontInfo — include numele fontului, dimensiunea, grosimea și unghiul în fiecare fragment, implicit TrueIncludeSemantics — mapează modelul Tagged PDF existent sau modelul euristic de conținut lizibil la fiecare bloc, implicit TrueMaxCharacters — buget de caractere pe pagină cu eșuire închisă, implicit 1000000| Record | Key data |
|---|---|
TPdfStructuredTextPage | PageNumber, Width și Height, numărătorile de caractere și de eșecuri, Source, Text-ul combinat și Blocks |
TPdfStructuredTextBlock | Limitele, textul, tipul structurii, nivelul titlului, limba, sursa, indicele elementului de structură și rândurile |
TPdfStructuredTextLine | Limitele, textul combinat și fragmentele stilizate |
TPdfStructuredTextSpan | Text, Bounds, intervalul SourceStartIndex și SourceCharacterCount, FontName, FontSize, FontWeight și Angle |
Kind, HeadingLevel, Language, Source și StructElementIndexUnmappedCharacterCount numără mapările zero native înlocuite cu U+FFFDGeometryFailureCount numără caracterele fără rupere care nu au limite native utilizabile, păstrându-le totuși textulOrdonarea fizică folosește sortarea de caractere în O(n log n), tampoane de rânduri și de fragmente cu creștere geometrică, construcție UTF-16 cu tampon și stocare în cache a fonturilor pentru obiecte de text adiacente nenule
Stabiliți IncludeFontInfo sau IncludeSemantics la False atunci când aceste straturi de îmbogățire nu sunt necesare
var
Options: TPdfStructuredTextOptions;
Page: TPdfStructuredTextPage;
begin
Options := TPdfStructuredTextOptions.Default;
Options.MaxCharacters := 250000;
Page := Pdf1.GetStructuredText(Options);
Memo1.Text := Page.Text;
end;