THotPDF.RepairPDFUA2Structure Method

Popravi obnovljive napake imenskih prostorov, atributov, struktur in dostopnosti PDF/UA-2 znotraj transakcije grafa s kopiranjem ob pisanju in preveri kandidatni graf pred potrditvijo

Declaration

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

Repair options

Začnite s THPDFUA2RepairOptions.Default in preglasite samo odločitve politik, ki jih zahteva vhodni delovni tok

FieldPurpose
NormalizeDuplicateNamespacesPonovno zgradi StructTreeRoot/Namespaces z enim kanoničnim posrednim slovarjem na URI in zavrne nasprotujoče si zemljevide vlog
RegisterReferencedNamespacesRegistrira veljavne slovarje imenskih prostorov, na katere se sklicujejo strukturni elementi, atributi ali zemljevidi vlog, ozaveščeni o imenskih prostorih
RepairStandardStructureNamespacesDodeli imenski prostor PDF 2.0 standardnim vlogam, ko imenski prostor manjka ali je neveljaven, in vedno normalizira najvišji Document
RepairAttributeNamespacesKanoničizira sklice na imenske prostore atributov in odstrani neveljavne vnose imenskih prostorov iz standardnih lastnikov
RepairAttributeRevisionsNormalizira negativne ali delne številke revizij in odstrani osirotele vnose revizij iz polj atributov
RepairListSemanticsNormalizira oštevilčenje, zastavice nadaljevanja, neveljavne vrste nadaljevanja in en sam napačno postavljen napis brez izmišljanja vsebine seznama
RepairTableSemanticsNormalizira neveljavne razpone in obsege, odstrani neveljavne lokalne sklice glav tabel in premakne en sam napačno postavljen napis
RepairRubyWarichuSequencesPreuredi otroke samo, ko je točno zahtevani multiset vlog že prisoten
RepairPronunciationHintsOdstrani napačno tipizirane namige, obreže neveljavne sklice leksikonov in normalizira vgrajene podtipe MIME PLS
RepairMissingAlternateTextObnovi manjkajoči Alt za Figure, Formula in Form iz obstoječega naslova, razširitvenega besedila, izluščenega besedila istega MCID ali eksplicitnega nadomestila v tem vrstnem redu
RepairLanguageInheritancePovzdigne veljaven jezik strukture korenine ali eksplicitni privzeti jezik v Catalog in odstrani neveljavne ali odvečne vnose jezikov na ravni strukture, ko je dedovanje nedvoumno
RepairHeadingOrderPonovno oštevilči samo napake prvega naslova in preskočenih ravni, medtem ko ohrani vrstni red dokumenta
RepairArtifactTaggingPonovno zapiše oznake označene vsebine, povezane s strukturnim elementom Artifact, za vsebino proizvajalca in naložene strani
AllowDocumentFragmentHeadingStartsPonastavi kontekst naslovov znotraj vsakega DocumentFragment za popravilo in preverjanje po popravilu
RollbackOnValidationFailureObnovi prvotni graf, ko po popravilu ostane katera koli napaka PDF/UA-2
CustomAttributeNamespaceURIZagotovi eksplicitni imenski prostor za lastnike lastnih atributov, katerih semantike ni mogoče varno sklepati, s prazno privzeto vrednostjo, ki ne uspe varno
DefaultLanguageZagotovi oznako jezika BCP-47 samo, ko niti Catalog niti strukturna korenina ne vsebujeta veljavnega jezika
FallbackAlternateTextZagotovi nadomestno besedilo, ki ga pregleda klicatelj, po tem ko vsi viri iz dokumenta spodletijo, s prazno privzeto vrednostjo, ki nikoli ne izmisli opisa
MaxGeneratedAlternateTextCharactersOmeji izluščevanje besedila istega MCID in privzeto znaša 4.096 kodnih enot UTF-16
MaxObjectsOmeji skeniranje grafa objektov in privzeto znaša 1.000.000 objektov
MaxRepairsOmeji zadržane mutacije in privzeto znaša 100.000 operacij popravil

Repair report

THPDFUA2RepairReport poroča o tem, ali se je graf spremenil ali razveljavil, ali je bila presežena meja, statusu preverjanja po popravilu, pregledanih objektih, preostalih napakah in številih za vsako družino popravil, vključno z nadomestnim besedilom, vnosi jezikov, ravnmi naslovov in oznakami Artifact

UnresolvedAlternateTextCount, UnresolvedLanguageCount in UnresolvedArtifactCount ločijo semantike, ki še vedno zahtevajo pregled avtorja, od samodejnih mutacij

Vrnjeno polje THPDFUA2ValidationIssues vsebuje diagnostiko po popravilu, ko preverjanje spodleti, in stabilno diagnostiko, specifično za popravilo, ko presežena meja virov ali nasprotujoči si podvojeni zemljevid vlog prekine transakcijo

Podrobna preobtežitev vrne tudi ugotovitve pred popravilom, označene kot crsApplied, crsUnresolved, crsRolledBack ali crsFailed, plus štete povzetke za vsako družino popravil

Ta preobtežitev izvora izvede dodatni omejeni prehod preverjanja pred popravilom; uporabite obstoječo preobtežitev s tremi izhodi, ko sta potrebna samo končno poročilo in težave

Atomicity and safety

Example

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;

Related APIs