THotPDF.RepairPDFUA2Structure Method

Korjaa palautettavat PDF/UA-2-nimiavaruus-, attribuutti-, rakenne- ja saavutettavuusvikat copy-on-write-rakennetransaktion sisällä ja validoi ehdokasrakenteen ennen sitoutumista

Määrittely

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;

Yksikkö

HPDFDoc

Korjausasetukset

Aloita THPDFUA2RepairOptions.Default:sta ja ohita vain syöttötyönkulun edellyttämät käytäntöpäätökset

KenttäTarkoitus
NormalizeDuplicateNamespacesRakentaa StructTreeRoot/Namespaces -kohdan uudelleen yhdellä kanonisella epäsuoralla sanakirjalla URI:a kohden ja hylkää ristiriitaiset roolikartat
RegisterReferencedNamespacesRekisteröi kelvolliset nimiavaruussanakirjat, joihin rakenteen elementit, attribuutit tai nimiavaruustietoiset roolikartat viittaavat
RepairStandardStructureNamespacesMäärittää PDF 2.0 -nimiavaruuden vakiorooleihin, kun nimiavaruus puuttuu tai on virheellinen, ja normalisoi aina ylimmän tason Document-kohdan
RepairAttributeNamespacesKanonisoi attribuutin nimiavaruusviittaukset ja poistaa virheelliset nimiavaruusmerkinnät vakiovoimista
RepairAttributeRevisionsNormalisoi negatiiviset tai murto-osaiset revisionumerot ja poistaa orporevisiomerkinnät attribuuttitaulukoista
RepairListSemanticsNormalisoi numeroinnin, jatkoflagit, virheelliset jatkot ja yksittäisen väärän otsikon luomatta listasisältöä
RepairTableSemanticsNormalisoi virheelliset jatkeet ja laajuudet, poistaa virheelliset taulukkolokaaliset otsikkoviittaukset ja siirtää yksittäisen väärän otsikon
RepairRubyWarichuSequencesJärjestää lapset uudelleen vain, kun vaadittu roolijoukko on jo täsmälleen läsnä
RepairPronunciationHintsPoistaa väärin kirjoitetut vihjeet, rajaa virheelliset sanastoviittaukset ja normalisoi upotetut PLS-MIME-alatyypit
RepairMissingAlternateTextPalauttaa puuttuvan Alt-kohdan Figure-, Formula- ja Form-kohteille olemassa olevasta otsikosta, laajennustekstistä, saman MCID:n eritetystä tekstistä tai eksplisiittisestä varatekstistä tässä järjestyksessä
RepairLanguageInheritanceEdistää kelvollisen rakenteen juuren tai eksplisiittisen oletuskielen Catalog-kohdalle ja poistaa virheelliset tai turhat rakennetason kielimerkinnät, kun periytyminen on yksiselitteinen
RepairHeadingOrderNumeroi uudelleen vain ensimmäisissä otsikoissa ja ohitettujen tasojen viat säilyttäen dokumentin järjestyksen
RepairArtifactTaggingKirjoittaa uudelleen Artifact-rakenneselementtiin liittyvät merkitty-sisältötagit tuottajan ja ladattujen sivujen sisällölle
AllowDocumentFragmentHeadingStartsNollaa otsikkokontekstin jokaisen DocumentFragment-kohdan sisällä sekä korjaukselle että korjauksen jälkeiselle validoinnille
RollbackOnValidationFailurePalauttaa alkuperäisen rakenteen, kun PDF/UA-2-virhe jää korjauksen jälkeen
CustomAttributeNamespaceURIToimittaa eksplisiittisen nimiavaruuden mukautetuille attribuutin omistajille, joiden semantiikkaa ei voida turvallisesti päätellä; tyhjä oletus epäonnistuu suljetusti
DefaultLanguageToimittaa BCP-47-kielitunnisteen vain, kun Catalog eikä rakenteen juuret sisällä kelvollista kieltä
FallbackAlternateTextToimittaa kutsujan tarkistaman vaihtoehtoisen tekstin sen jälkeen, kun kaikki dokumenttijohdannaiset lähteet epäonnistuivat; tyhjä oletus ei koskaan keksi kuvausta
MaxGeneratedAlternateTextCharactersRaja saman MCID:n tekstin erittämisen ja oletusarvo on 4 096 UTF-16-koodiyksikköä
MaxObjectsRaja objektirakenteen skannauksen ja oletusarvo on 1 000 000 objektia
MaxRepairsRaja säilytettyjen mutaatioiden ja oletusarvo on 100 000 korjaustoimintoa

Korjausraportti

THPDFUA2RepairReport kertoo, muuttuiko rakenne vai palautuiko se takaisin, ylitettiinkö raja, korjauksen jälkeisen validoinnin tilan, tutkitut objektit, jäljellä olevat virheet ja laskurit jokaiselle korjausperheelle, mukaan lukien vaihtoehtoinen teksti, kielimerkinnät, otsikkotasot ja Artifact-tagit

UnresolvedAlternateTextCount, UnresolvedLanguageCount ja UnresolvedArtifactCount erottavat semantiikan, joka vaatii edelleen kirjoittajan tarkistusta, automaattisista mutaatioista

Palautettu THPDFUA2ValidationIssues-taulukko sisältää korjauksen jälkeiset diagnostiikat, kun validointi epäonnistuu, ja vakaat korjauskohtaiset diagnostiikat, kun resurssiraja tai ristiriitainen kaksoisroolikartta keskeyttää transaktion

Yksityiskohtainen ylikuormitus palauttaa myös korjausta edeltävät havainnot, jotka on merkitty crsApplied, crsUnresolved, crsRolledBack tai crsFailed, sekä lasketut yhteenvedot kullekin korjausperheelle

Tämä alkuperäisyys-ylikuormitus suorittaa ylimääräisen rajatun korjausta edeltävän validointikierroksen; käytä olemassa olevaa kolmen tuloksen ylikuormitusta, kun tarvitaan vain lopullinen raportti ja ongelmat

Atomisuus ja turvallisuus

Esimerkki

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;

Liittyvät API:t