THotPDF.RepairPDFUA2Structure Method

Opraví obnoviteľné chyby priestorov názvov, atribútov, štruktúry a prístupnosti PDF/UA-2 v rámci transakcie grafu s kopírovaním pri zápise a pred potvrdením validuje kandidátsky graf

Deklarácia

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;

Unit

HPDFDoc

Možnosti opravy

Začnite s THPDFUA2RepairOptions.Default a prepíšte len rozhodnutia politiky vyžadované vstupným pracovným postupom

FieldÚčel
NormalizeDuplicateNamespacesZnovu vytvorí StructTreeRoot/Namespaces s jedným kanonickým nepriamym slovníkom na URI a odmieta konfliktné mapy rolí
RegisterReferencedNamespacesRegistruje platné slovníky priestorov názvov odkazované štruktúrnymi prvkami, atribútmi alebo mapami rolí zohľadňujúcimi priestory názvov
RepairStandardStructureNamespacesPriradí priestor názvov PDF 2.0 štandardným rolám, keď priestor názvov chýba alebo je neplatný, a vždy normalizuje najvyššiu úroveň Document
RepairAttributeNamespacesKanonizuje odkazy na priestory názvov atribútov a odstraňuje neplatné záznamy priestorov názvov zo štandardných vlastníkov
RepairAttributeRevisionsNormalizuje záporné alebo zlomkové čísla revízií a odstraňuje osirelé záznamy revízií z polí atribútov
RepairListSemanticsNormalizuje číslovanie, príznaky pokračovania, neplatné typy pokračovania a jeden nesprávne umiestnený popis bez vymýšľania obsahu zoznamu
RepairTableSemanticsNormalizuje neplatné rozpätia a rozsahy, odstraňuje neplatné lokálne odkazy na hlavičky tabuľky a presúva jeden nesprávne umiestnený popis
RepairRubyWarichuSequencesPreusporiada deti len vtedy, keď presná požadovaná množina rolí už existuje
RepairPronunciationHintsOdstraňuje nesprávne typované nápovede, orezáva neplatné odkazy na lexikón a normalizuje vložené podtypy MIME PLS
RepairMissingAlternateTextObnoví chýbajúci Alt pre Figure, Formula a Form z existujúceho názvu, rozširujúceho textu, extrahovaného textu rovnakého MCID alebo explicitnej náhrady v tomto poradí
RepairLanguageInheritancePovýši platný jazyk koreňa štruktúry alebo explicitný predvolený jazyk do katalógu a odstráni neplatné alebo redundantné jazykové záznamy na úrovni štruktúry, keď je dedičnosť jednoznačná
RepairHeadingOrderPrečísluje len chyby prvého nadpisu a preskočených úrovní pri zachovaní poradia dokumentu
RepairArtifactTaggingPrepíše značky označeného obsahu spojené so štruktúrnym prvkom Artifact pre obsah producenta a načítanej stránky
AllowDocumentFragmentHeadingStartsObnoví kontext nadpisov v rámci každého DocumentFragment pre opravu aj validáciu po oprave
RollbackOnValidationFailureObnoví pôvodný graf, keď po oprave zostane akákoľvek chyba PDF/UA-2
CustomAttributeNamespaceURIDodáva explicitný priestor názvov pre vlastníkov vlastných atribútov, ktorých sémantiku nemožno bezpečne odvodiť, s prázdnou predvolenou hodnotou, ktorá zlyhá uzavretá
DefaultLanguageDodáva jazykovú značku BCP-47 len vtedy, keď ani katalóg ani koreň štruktúry neobsahuje platný jazyk
FallbackAlternateTextDodáva alternatívny text posúdený volajúcim po zlyhaní všetkých zdrojov odvodených z dokumentu, s prázdnou predvolenou hodnotou, ktorá nikdy nevymýšľa popis
MaxGeneratedAlternateTextCharactersObmedzuje extrakciu textu rovnakého MCID a predvolene na 4 096 kódových jednotiek UTF-16
MaxObjectsObmedzuje skenovanie grafu objektov a predvolene na 1 000 000 objektov
MaxRepairsObmedzuje uchované mutácie a predvolene na 100 000 operácií opravy

Správa o oprave

THPDFUA2RepairReport hlási, či sa graf zmenil alebo vrátil, či bol prekročený limit, stav validácie po oprave, preskúmané objekty, zostávajúce chyby a počty pre každú rodinu opráv vrátane alternatívneho textu, jazykových záznamov, úrovní nadpisov a značiek Artifact

UnresolvedAlternateTextCount, UnresolvedLanguageCount a UnresolvedArtifactCount odlišujú sémantiku, ktorá stále vyžaduje posúdenie autora, od automatických mutácií

Vrátené pole THPDFUA2ValidationIssues obsahuje diagnostiku po oprave, keď validácia zlyhá, a stabilnú diagnostiku špecifickú pre opravu, keď limit zdrojov alebo konfliktná duplicitná mapa rolí preruší transakciu

Podrobné preťaženie tiež vracia zistenia pred opravou označené ako crsApplied, crsUnresolved, crsRolledBack alebo crsFailed plus počítané súhrny pre každú rodinu opráv

Toto preťaženie pôvodu vykonáva dodatočný ohraničený prechod validácie pred opravou; použite existujúce preťaženie s tromi výstupmi, keď sa vyžaduje len konečná správa a problémy

Atómovosť a bezpečnosť

Príklad

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;

Súvisiace API