THotPDF.AddStructureElement + PDF/UA accessibility attributes

THotPDF tagged-PDF surface (v2.119.36 / v2.119.40 / v2.119.41)

 

AddXFAPacket  AcroForm Support

THotPDF.AddStructureElement och Tagged PDF-hjälpare

Denna sida dokumenterar de aktuella THotPDF-hjälparna för tagged-PDF och PDF/UA-strukturträd. Kodidentifierare matchar de offentliga deklarationerna in Lib/HPDFDoc.pas

Aktuell Delphi-yta

procedure SetStructureElementLanguage(Elem: THPDFDictionaryObject; const Lang: AnsiString);
procedure SetStructureElementExpansionText(Elem: THPDFDictionaryObject; const ExpansionText: AnsiString);
procedure SetStructureElementTitle(Elem: THPDFDictionaryObject; const Title: AnsiString);
procedure AddStructRoleMap(const SourceRole: AnsiString; const TargetRole: AnsiString);

function BeginTaggedContent(const Role: AnsiString; Parent: THPDFDictionaryObject;
  const Lang: AnsiString = ''; const Alt: AnsiString = '';
  const ActualText: AnsiString = ''; const ExpansionText: AnsiString = ''): THPDFDictionaryObject;
procedure EndTaggedContent;

function EmitTaggedHeading(Level: Integer; Parent: THPDFDictionaryObject; X, Y: Single; const Text: WideString): THPDFDictionaryObject;
function BeginTaggedList(Parent: THPDFDictionaryObject; const NumberingStyle: AnsiString = 'None'): THPDFDictionaryObject;
function EmitTaggedListItem(ListElem: THPDFDictionaryObject; LblX, LblY: Single; const LabelText: WideString; BodyX, BodyY: Single; const BodyText: WideString): THPDFDictionaryObject;
function BeginTaggedTable(Parent: THPDFDictionaryObject): THPDFDictionaryObject;
function AddTaggedTableRow(TableElem: THPDFDictionaryObject): THPDFDictionaryObject;
function EmitTaggedTableHeader(TRElem: THPDFDictionaryObject; X, Y: Single; const Text: WideString; const Scope: AnsiString): THPDFDictionaryObject;
function EmitTaggedTableCell(TRElem: THPDFDictionaryObject; X, Y: Single; const Text: WideString): THPDFDictionaryObject;
function BeginTaggedFigure(Parent: THPDFDictionaryObject; const AltText: AnsiString; const BBox: array of Single): THPDFDictionaryObject;
procedure EndTaggedFigure;
procedure RegisterAnnotForStructure(AnnotDict: THPDFDictionaryObject; StructElem: THPDFDictionaryObject);

function StandardStructureTypeToName(T: THPDFStandardStructureType): AnsiString;
function IsStandardStructureType(const Name: AnsiString): Boolean;

Strukturattribut och rollmappning

SetStructureElementLanguage skriver en BCP-47 /Lang-åsidosättning, SetStructureElementExpansionText skriver /E-expansionstexten, SetStructureElementTitle skriver den människoläsbara /T-titeln och AddStructRoleMap mappar anpassade strukturroller tillbaka till standard-PDF-roller. StandardStructureTypeToName returnerar PDF-rollnamnet för ett THPDFStandardStructureType-värde, och IsStandardStructureType kontrollerar om ett rollnamn är en av standardrollerna

Högnivåhjälpare för Tagged

EmitTaggedHeading, BeginTaggedList, EmitTaggedListItem, BeginTaggedTable, AddTaggedTableRow, EmitTaggedTableHeader, EmitTaggedTableCell, BeginTaggedFigure, EndTaggedFigure och RegisterAnnotForStructure täcker vanlig PDF/UA-koppling för rubrik, lista, tabell, figur och annotering utan att tvinga anropare att hantera MCID:er manuellt

Typiskt arbetsflöde

Aktivera tagged output eller PDFUACompliance, skapa rotstrukturelementet, använd hjälpfamiljen för att emittera semantiskt innehåll och stäng varje påbörjad tagged-content- eller figure-sekvens före EndDoc