THotPDF.RepairPDFUA2Structure Method

Remontuoja atkuriamus PDF/UA-2 vardų srities, atributo, struktūros ir prieinamumo defektus copy-on-write diagramos transakcijoje ir prieš įtvirtindama patvirtina kandidatinį grafiką

Deklaracija

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;

Vienetas

HPDFDoc

Remonto parinktys

Pradėkite nuo THPDFUA2RepairOptions.Default ir keiskite tik tuos politikos sprendimus, kurių reikalauja įvesties darbo eiga

LaukasPaskirtis
NormalizeDuplicateNamespacesAtkuria StructTreeRoot/Namespaces su vienu kanoniniu netiesioginiu žodynu kiekvienai URI ir atmeta konfliktuojančius vaidmenų atvaizdavimus
RegisterReferencedNamespacesRegistruoja struktūros elementų, atributų arba vardų sritims jautrių vaidmenų atvaizdavimų referuojamus galiojančius vardų srities žodynus
RepairStandardStructureNamespacesPriskiria PDF 2.0 vardų sritį standartiniams vaidmenims, kai vardų srities nėra arba ji negalioja, ir visada normalizuoja aukščiausiojo lygio Document
RepairAttributeNamespacesKanonizuoja atributo vardų srities nuorodas ir pašalina negaliojančius vardų srities įrašus iš standartinių savininkų
RepairAttributeRevisionsNormalizuoja neigiamus arba trupmeninius versijos numerius ir pašalina našlaičius versijos įrašus iš atributo masyvų
RepairListSemanticsNormalizuoja numeravimą, tęsinio vėliavėles, negaliojančius tęsinio tipus ir vieną netinkamai nukeltą antraštę, neprasimanydamas sąrašo turinio
RepairTableSemanticsNormalizuoja negaliojančius apimties ir srities įrašus, pašalina negaliojančias lentelės lokalių antraščių nuorodas ir perkelia vieną netinkamai nukeltą antraštę
RepairRubyWarichuSequencesPertvarko vaikus tik tada, kai tiksli reikalinga vaidmenų multiaibė jau yra
RepairPronunciationHintsPašalina netinkamai įvestas užuominas, apgeni negaliojančias leksikos nuorodas ir normalizuoja įterptus PLS MIME potipius
RepairMissingAlternateTextAtkuria trūkstamą Alt, skirtą Figure, Formula ir Form, iš esamos antraštės, išplėstinio teksto, to paties MCID ištraukto teksto arba aiškios atsarginės reikšmės, tokia tvarka
RepairLanguageInheritancePerkelia galiojančią struktūros šaknies arba aiškią numatytąją kalbą į Catalog ir pašalina negaliojančius arba perteklinius struktūros lygio kalbos įrašus, kai paveldėjimas yra vienareikšmis
RepairHeadingOrderPernumeruoja tik pirmosios antraštės ir praleistų lygių trūkumus, išlaikydamas dokumento tvarką
RepairArtifactTaggingPerrašo žymėto turinio žymes, susietas su Artifact struktūros elementu, skirtą gamintojo ir įkelto puslapio turiniui
AllowDocumentFragmentHeadingStartsAtstato antraštės kontekstą kiekviename DocumentFragment ir remontui, ir patikrai po remonto
RollbackOnValidationFailureAtkuria pradinį grafiką, kai po remonto lieka bent viena PDF/UA-2 klaida
CustomAttributeNamespaceURIPateikia aiškią vardų sritį pasirinktinių atributų savininkams, kurių semantikos negalima saugiai nustatyti, o tuščia numatytoji reikšmė nepavyksta saugiai
DefaultLanguagePateikia BCP-47 kalbos žymę tik tada, kai nei Catalog, nei struktūros šaknis neturi galiojančios kalbos
FallbackAlternateTextPateikia skambintojo peržiūrėtą alternatyvų tekstą, kai nepavyksta visi iš dokumento gauti šaltiniai, o tuščia numatytoji reikšmė niekada nefalsifikuoja aprašymo
MaxGeneratedAlternateTextCharactersApriboja to paties MCID teksto ištraukimą ir pagal numatymą yra 4 096 UTF-16 kodo vienetai
MaxObjectsApriboja objektų grafiko skenavimą ir pagal numatymą yra 1 000 000 objektų
MaxRepairsApriboja išlaikytus pakeitimus ir pagal numatymą yra 100 000 remonto operacijų

Remonto ataskaita

THPDFUA2RepairReport praneša, ar grafikas pasikeitė arba buvo atšauktas, ar viršyta riba, patikros po remonto būseną, ištirtus objektus, likusias klaidas ir kiekvienos remonto šeimos skaičius, įskaitant alternatyvų tekstą, kalbos įrašus, antraštės lygius ir Artifact žymes

UnresolvedAlternateTextCount, UnresolvedLanguageCount ir UnresolvedArtifactCount atskiria semantiką, kuriai vis dar reikia autoriaus peržiūros, nuo automatinių pakeitimų

Grąžinamas THPDFUA2ValidationIssues masyvas saugo diagnostiką po remonto, kai patikra nepavyksta, ir stabilią remontui būdingą diagnostiką, kai išteklių riba arba konfliktuojantis pasikartojančio vaidmens atvaizdavimas nutraukia transakciją

Išsamus variantas taip pat grąžina radinius prieš remontą, pažymėtus kaip crsApplied, crsUnresolved, crsRolledBack arba crsFailed, bei sukauptas kiekvienos remonto šeimos suvestines

Šis kilmės variantas atlieka papildomą ribotą patikros etapą prieš remontą; naudokite esamą trijų rezultatų variantą, kai reikalingi tik galutinė ataskaita ir problemos

Atomiškumas ir saugumas

Pavyzdys

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;

Susiję API