PDFium Delphi Component Docs

GetStructuredText метод

Component: TPdf  ·  Unit: PDFium
Розкладає поточну сторінку на блоки, рядки та стилізовані діапазони для повторного використання з індексами джерела та геометрією сторінки

Syntax

function GetStructuredText(
  const Options: TPdfStructuredTextOptions): TPdfStructuredTextPage;

Description

GetStructuredText зчитує скаляри Unicode, рамки символів, розмір шрифту, насиченість, назву шрифту, кут і тотожність текстового об’єкта через нативні текстові API PDFium

Символи стають стилізованими діапазонами, діапазони — фізичними рядками, горизонтально пов’язані рядки — блоками, а текст блоків об’єднується в поле Text рівня сторінки

Кожен нативний скаляр зберігається як UTF-16, зокрема символи додаткових площин, представлені сурогатними парами

Options

Result hierarchy

RecordKey data
TPdfStructuredTextPagePageNumber, Width і Height, кількості символів і збоїв, Source, об’єднаний Text і Blocks
TPdfStructuredTextBlockМежі, текст, тип структури, рівень заголовка, мова, джерело, індекс елемента структури та рядки
TPdfStructuredTextLineМежі, об’єднаний текст і стилізовані діапазони
TPdfStructuredTextSpanText, Bounds, діапазон SourceStartIndex і SourceCharacterCount, FontName, FontSize, FontWeight і Angle

Semantics and geometry

Performance

Фізичний порядок використовує сортування символів за O(n log n), буфери рядків і діапазонів із геометричним зростанням, буферизоване побудування UTF-16 і кешування шрифтів сусідніх ненульових текстових об’єктів

Установіть IncludeFontInfo або IncludeSemantics у False, коли ці збагачувальні шари не потрібні

Example

var
  Options: TPdfStructuredTextOptions;
  Page: TPdfStructuredTextPage;
begin
  Options := TPdfStructuredTextOptions.Default;
  Options.MaxCharacters := 250000;
  Page := Pdf1.GetStructuredText(Options);
  Memo1.Text := Page.Text;
end;

See Also

TPdf, Text, ExtractTables, BuildReflowDocument, ApplyOcrSearchLayer, StructureElements