Avtorstvo, preverjanje in popravilo strukture PDF/UA-2
HotPDF lahko zgradi, preveri in atomsko popravi mešano strukturno semantiko PDF 1.7 in PDF 2.0, pri tem pa ohrani izrecno identiteto imenskega prostora in omejene stroške obdelave
Avtorstvo z zavedanjem imenskih prostorov
AddStructureElement dodeli standardni strukturni imenski prostor PDF 2.0, kadar ga zahteva vloga PDF/UA-2, vključno z obveznim vrhunskim elementom Document
AddStructureElementNS ustvari izrecno imensko označene elemente, AddStructRoleMapNS pa doda preslikave imen ali dvoelementnih nizov, ki se lahko prehodno razrešijo čez meje imenskih prostorov
Slovarji imenskih prostorov so posredni, registrirani enkrat po URI-ju in izpisani prek StructTreeRoot/Namespaces
Atributi in pomenski pripomočki
| API | Namen |
|---|---|
SetStructureAttributeName | Doda ali zamenja atribut z vrednostjo imena v slovarju, specifičnem za lastnika, in lahko poveže lastne lastnike z imenskim prostorom |
SetStructureAttributeNumber | Doda ali zamenja celoštevilski strukturni atribut, kot sta RowSpan ali ColSpan |
SetStructureTableCellHeaders | Zapiše neprazno matriko Headers, ki prepozna celice glave tabele po edinstvenih vrednostih ID |
SetStructurePronunciation | Zapiše podedovano ime PhoneticAlphabet in natančno zamenjavo Phoneme na strukturnem elementu PDF 2.0 |
AddPronunciationLexicon | Vgradi posredno datoteko application/pls+xml in doda njen Filespec v StructTreeRoot/PronunciationLexicon v vrstnem redu iskanja |
AssociateFileWithStructure | Poveže posredni Filespec s strukturnim elementom prek AF |
AddAccessibleFormula | Ustvari Formula z Alt, ActualText ali obema |
AddAccessibleMathMLFormula | Ustvari formulo, vgradi opisano datoteko application/mathml+xml, jo poveže s strukturo in doda podrejeni element imenskega prostora MathML |
Omejeno preverjanje v enem prehodu
ValidatePDFUA2Structure vrne vsak zadržani diagnostični podatek v matriki THPDFUA2ValidationIssues in vrne False, kadar ima vsaj en diagnostični podatek resnost uisError
Preverjevalnik razreši preslikave vlog, ki se zavedajo imenskih prostorov, z zaznavanjem ciklov ter preveri vrhunski dokument, hierarhijo starš-potomec, povratne povezave staršev, lastnike in revizije atributov, StructParent opomb, lastništvo starševskega drevesa in OBJR, povezane datoteke, naslove, sezname, tabele, Ruby, Warichu, namige za izgovorjavo, formule in MathML
Preverjanje tabel razširi pozitivne razpone vrstic in stolpcev le znotraj MaxObjects, zavrne sekajoče se celice in nepravilno geometrijo vrstic ali skupin vrstic, razreši Headers znotraj lastniške tabele, zazna podvojene, lastne in ciklične sklice glav ter sprejme implicitne povezave le, kadar jih določita Scope ali postavitev v prvi vrstici in prvem stolpcu
Preverjanje seznamov prepozna celoten nabor ListNumbering PDF 2.0, uveljavlja semantiko oznak, preverja ContinuedList in urejene sklice ContinuedFrom na isti ravni ter zavrne cikle nadaljevanja ali neposredno resnično vsebino zunaj Lbl in LBody
Podrejeni elementi Ruby morajo biti RB,RT ali RB,RP,RT,RP, podrejeni elementi Warichu morajo biti WP,WT,WP, vnosi izgovorjave ohranijo svoje vrste objektov PDF, vsak slovar izgovorjave pa mora biti posredni vgrajeni Filespec PLS
Skeniranje posrednih objektov, globina prehoda, globina preslikave vlog, razširjene celice tabel, število zadržanih težav in obdelava sovražnih zbirk so omejeni, tako da preverjanje ostane predvidljivo tudi za nezaupanja vredna strukturna drevesa
Skupne ugotovitve skladnosti
Preobtežitev preverjanja THPDFComplianceFindings vrne iste diagnostične podatke s skupnim profilom, resnostjo, stabilnim ID-jem pravila, klavzulo standarda, logično potjo, številko posrednega objekta in ničelno osnovanim indeksom strani
Podrobna preobtežitev popravila primerja omejene ugotovitve pred in po popravilu, da prepozna uporabljena, nerazrešena, razveljavljena ali neuspešna dejanja popravila, ter doda povzetke popravljenih družin s štetjem
ComplianceFindingsToJSON ohrani deterministični vrstni red v skladu z različico sheme hotpdf.compliance.findings.v1 in predstavi neznane lokacije objektov ali strani kot null
Atomsko popravilo strukture
RepairPDFUA2Structure deluje znotraj transakcije grafa s kopiranjem ob pisanju, kanonizira podvojene ali neregistrirane slovarje imenskih prostorov, prepiše sklice na imenske prostore strukture in preslikav vlog, popravi standardne strukturne imenske prostore, normalizira imenske prostore in revizije strukturnih atributov ter popravi deterministične napake seznamov, tabel, Ruby, Warichu, izgovorjave, nadomestnega besedila, dedovanja jezika, vrstnega reda naslovov in oznak Artifact
Po mutaciji isti preverjevalnik preveri kandidatni graf, privzeta politika pa razveljavi vsako spremembo, kadar ostane katera koli napaka PDF/UA-2
- Podvojeni URI-ji imenskih prostorov se združijo v en posredni slovar le, kadar se njihove preslikave vlog, ki se zavedajo imenskih prostorov, ujemajo
- Veljavne sklicevane imenske prostore je mogoče registrirati brez ponavljajočega se skeniranja strukturnega drevesa
- Standardni lastniki atributov odstranijo neveljavne vnose imenskih prostorov, lastni lastniki pa zahtevajo izrecni
CustomAttributeNamespaceURI, kadar njihovega imenskega prostora ni mogoče sklepati - Negativne ali delne revizije elementov postanejo nič, neveljavne revizije matrik atributov postanejo nič, osiroteli vnosi revizij pa se odstranijo
- Prepoznavno številčenje seznamov se obnovi, seznami z oznakami prejmejo semantiko številčenja, ki ni
None, veljavni sklici nadaljevanja prejmejoContinuedList=true, en sam napačno postavljen napis pa se premakne na prvo mesto - Neveljavni razponi tabel postanejo ena,
Scopese odstrani iz podatkovnih celic, neveljavni, medtabelni, lastni ali podvojeni vnosiHeaderspa se odstranijo brez izmišljanja nadomestnih povezav - Podrejeni elementi Ruby in Warichu se preuredijo le, kadar natančno zahtevani multinabor že obstaja
- Napačno tipizirani namigi izgovorjave se odstranijo, neveljavni sklici slovarjev se obrežejo, veljavni vgrajeni tokovi slovarjev pa prejmejo podvrsto MIME PLS
- Manjkajoče vrednosti
Altuporabijo obstoječi naslov, razširitveno besedilo ali izvlečeno besedilo istega MCID-ja pred kakršnim koli nadomestkom, ki ga zagotovi klicatelj, prazna privzeta vrednost pa nikoli ne izmisli opisov - Veljaven korenski jezik BCP-47 ali jezik, ki ga zagotovi klicatelj, lahko postane jezik kataloga, tako da odvečni ali neveljavni podrejeni vnosi varno dedujejo
- Napake prvega naslova in preskočene ravni se zaprejo v vrstnem redu dokumenta, z neobveznimi neodvisnimi začetki naslovov znotraj
DocumentFragment - Strukturne vloge
Artifactso usklajene z njihovimi oznakami označene vsebine v vsebini proizvajalčeve strani in naloženih tokovih vsebine - Dvoumna geometrija tabel, manjkajoči pomenski podrejeni elementi, nasprotujoči si identifikatorji in nerazrešena semantika branja ostanejo napake in sprožijo privzeto razveljavitev
MaxObjectsinMaxRepairsse zapreta ob napaki, preden lahko nezaupanja vredni grafi prisilijo neomejeno delo
Politika preverjanja
Začnite z THPDFUA2ValidationOptions.Default in spremenite le odločitve, specifične za potek dela
THPDFUA2HeadingPolicy izbere obravnavo naslovov, THPDFUA2IssueSeverity razlikuje opozorila od napak, vsak THPDFUA2ValidationIssue pa nosi stabilno kodo, strukturno pot, resnost in sporočilo
HeadingPolicylahko prezre preskočene ravni, jih zadrži kot opozorila ali zahteva zaporedne ravniAllowDocumentFragmentHeadingStartsponastavi kontekst naslovov znotrajDocumentFragmentRequireListLabelszahteva enLblza oštevilčene elemente seznamaRequireExplicitTableHeaderAssociationsporoča o podatkovnih celicah, ki se zanašajo le na sklepanje o obsegu glaveCheckListSemanticsomogoči popolna preverjanja številčenja, nadaljevanja, napisov, oznak, telesa in postavitve vsebine PDF 2.0CheckTableSemanticsomogoči omejena preverjanja mreže, razponov, skupin vrstic, obsega glav in povezav, lokalnih za tabeloCheckRubyWarichuSequencesomogoči natančna preverjanja zaporedij neposrednih podrejenih elementov za vzhodnoazijske vgrajene struktureCheckPronunciationHintsomogoči preverjanja strukturnih namigov in vgrajenih slovarjev PLSRequireStructureAssociatedFileszahteva, da je vsaka povezana datoteka kataloga dosegljiva iz strukturnega elementaRequireFormulaTextAlternativezahteva besedilne nadomestke formul, razen če je prisotna povezana MathMLMaxObjectsomeji skeniranje posrednih objektov, preden se začne prehodMaxIssuesomeji zadržane diagnostične podatke, ne da bi skril končni rezultat uspeha ali neuspeha
Priporočeni potek dela
- Omogočite
PDFUACompliance, izberitePDFUAPart = 2in nastaviteLangpredBeginDoc - Ustvarite en vrhunski
Documentin zgradite pomenske podrejene elemente s standardnimi ali izrecno imensko označenimi vlogami - Registrirajte opombe in povezane datoteke prek njihovih strukturnih pripomočkov, zapišite namige izgovorjave z
SetStructurePronunciationin dodajte datoteke PLS v želenem vrstnem redu iskanja zAddPronunciationLexicon - Zaženite
ValidatePDFUA2StructurepredEndDoc, kadar aplikacija potrebuje vse diagnostične podatke hkrati, pokličiteRepairPDFUA2Structureza deterministična popravila imenskih prostorov, strukture in dostopnosti ter izberite preobtežitev skupnih ugotovitev, kadar CI zahteva standardni JSON - Razrešite vsako napako pred izpisom, ker
EndDocprav tako uveljavlja strogo privzeto politiko za dokumente PDF/UA-2
Glej tudi: Automatic layout structure, ValidatePDFUA2Structure, RepairPDFUA2Structure, ComplianceFindingsToJSON, SetStructurePronunciation, AddPronunciationLexicon, AddStructureElement, BeginTaggedContentForStructure, AppendStructureMarkedContent