THotPDF.RepairPDFUA2Structure Method

Corrigeert herstelbare PDF/UA-2-naamruimte-, attribuut-, structurele en toegankelijkheidsdefecten binnen een copy-on-write-grafiektransactie en valideert de kandidaatgrafiek vóór doorvoering

Declaratie

function RepairPDFUA2Structure(
  const Options: THPDFUA2RepairOptions;
  out Report: THPDFUA2RepairReport;
  out Issues: THPDFUA2ValidationIssues): boolean; overload;

function RepairPDFUA2Structure(
  const Options: THPDFUA2RepairOptions;
  out Report: THPDFUA2RepairReport;
  out Issues: THPDFUA2ValidationIssues;
  out Findings: THPDFComplianceFindings): boolean; overload;

Eenheid

HPDFDoc

Correctieopties

Begin met THPDFUA2RepairOptions.Default en overrule alleen beleidsbeslissingen die de invoerworkflow vereist

VeldDoel
NormalizeDuplicateNamespacesBouwt StructTreeRoot/Namespaces opnieuw op met één canoniek indirect woordenboek per URI en wijst conflicterende rolemkaarten af
RegisterReferencedNamespacesRegistreert geldige naamruimtewoordenboeken waarnaar structuurelementen, attributen of naamruimtebewuste rolemkaarten verwijzen
RepairStandardStructureNamespacesWijs de PDF 2.0-naamruimte toe aan standaardrollen wanneer de naamruimte ontbreekt of ongeldig is en normaliseert altijd de toppagina Document
RepairAttributeNamespacesCanonicaliseert naamruimteverwijzingen van attributen en verwijdert ongeldige naamruimteinvoeren van standaardeigenaren
RepairAttributeRevisionsNormaliseert negatieve of fractionele revisienummers en verwijdert weesrevisie-invoeren uit attributenarrays
RepairListSemanticsNormaliseert nummering, voortzettingsvlaggen, ongeldige voortzettingstypes en een enkel verkeerd geplaatst bijschrift zonder lijstinhoud te verzinnen
RepairTableSemanticsNormaliseert ongeldige spans en scopes, verwijdert ongeldige tabellokale headerverwijzingen en verplaatst één verkeerd geplaatst bijschrift
RepairRubyWarichuSequencesHerschikt kinderen alleen wanneer de exacte vereiste rolemultiset al aanwezig is
RepairPronunciationHintsVerwijdert verkeerd getypeerde hints, snoeit ongeldige lexiconverwijzingen en normaliseert ingesloten PLS-MIME-subtypes
RepairMissingAlternateTextHerstelt ontbrekende Alt voor Figure, Formula en Form vanuit een bestaande titel, expansietekst, dezelfde-MCID-geëxtraheerde tekst of een expliciete terugval, in die volgorde
RepairLanguageInheritanceBevordert een geldige structuurwortel- of expliciete standaardtaal naar de Catalogus en verwijdert ongeldige of overbodige taalinvoeren op structuurniveau wanneer overerving ondubbelzinnig is
RepairHeadingOrderHernummert alleen eerste-kop- en overgeslagen-niveau-defecten met behoud van documentvolgorde
RepairArtifactTaggingHerschrijft gemarkeerde-inhoudstags gekoppeld aan een Artifact-structuurelement voor producent- en geladen pagina-inhoud
AllowDocumentFragmentHeadingStartsReset kopcontext binnen elke DocumentFragment voor zowel correctie als validatie na correctie
RollbackOnValidationFailureHerstelt de oorspronkelijke grafiek wanneer na correctie een PDF/UA-2-fout resteert
CustomAttributeNamespaceURILevert de expliciete naamruimte voor aangepaste attribuuteigenaren wier semantiek niet veilig kan worden afgeleid, met een lege standaard die faalt bij twijfel
DefaultLanguageLevert alleen een BCP-47-taaltag wanneer noch de Catalogus noch de structuurwortel een geldige taal bevat
FallbackAlternateTextLevert door de aanroeper beoordeelde alternatieve tekst nadat alle uit het document afgeleide bronnen falen, met een lege standaard die nooit een beschrijving verzint
MaxGeneratedAlternateTextCharactersBegrenst dezelfde-MCID-tekstextractie en gebruikt standaard 4.096 UTF-16-code-eenheden
MaxObjectsBegrenst het scannen van de objectgrafiek en gebruikt standaard 1.000.000 objecten
MaxRepairsBegrenst bewaarde mutaties en gebruikt standaard 100.000 correctiebewerkingen

Correctierapport

THPDFUA2RepairReport rapporteert of de grafiek is gewijzigd of teruggedraaid, of een grens is overschreden, validatiestatus na correctie, bekeken objecten, resterende fouten en aantallen voor elke correctiefamilie inclusief alternatieve tekst, taalinvoeren, kopniveaus en Artifact-tags

UnresolvedAlternateTextCount, UnresolvedLanguageCount en UnresolvedArtifactCount onderscheiden semantiek die nog auteursbeoordeling vereist van automatische mutaties

De teruggegeven array THPDFUA2ValidationIssues bevat de diagnostiek na correctie wanneer validatie faalt en stabiele correctiespecifieke diagnostiek wanneer een resourcegrens of conflicterende dubbele rolemkaart de transactie afbreekt

De gedetailleerde overload geeft ook bevindingen vóór correctie terug, gemarkeerd als crsApplied, crsUnresolved, crsRolledBack of crsFailed, plus getelde samenvattingen per correctiefamilie

Deze provenance-overload voert een extra begrensde validatiepass vóór correctie uit; gebruik de bestaande drie-uitvoer-overload wanneer alleen het eindrapport en de problemen nodig zijn

Atomiciteit en veiligheid

Voorbeeld

var
  Options: THPDFUA2RepairOptions;
  Report: THPDFUA2RepairReport;
  Issues: THPDFUA2ValidationIssues;
begin
  Options := THPDFUA2RepairOptions.Default;
  Options.DefaultLanguage := 'en-US';
  Options.CustomAttributeNamespaceURI :=
    'https://example.com/ns/accessibility-attributes';
  if not PDF.RepairPDFUA2Structure(Options, Report, Issues) then
    raise Exception.CreateFmt('%s at %s',
      [String(Issues[0].Code), String(Issues[0].Path)]);
end;

Verwante API's