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