Ověření shody dokumentu s PDF/A
Sada funkcí pro ověření shody (validity) formátu PDF dokumentu dle ISO standardů 19005-1:2005, 19005-2:2011 a ISO 19005-3:2012.
Ověření shody s PDF/A
Formát PDF/A je definován v několika úrovních souladu. Tuto úroveň je možné nastavit a vůči ní bude dokument analyzován. Pokud úroveň není nastavena, ověřuje se vůči úrovni dokumentem proklamované. Hodnoty úrovní souladu mohou být PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-3a, PDF/A-3b, PDF/A-3u.
Webová služba pdfaVerify navíc umožňuje ze vstupního PDF dokumentu získat (vytěžit) jeho vlastnosti jako je Počet stránek, Počet podpisů, Verze PDF, Deklarovaná verze PDF/A, Autor, Titul (Název), Předmět nebo Klíčová slova.
Popis služby pdfaVerify včetně WSDL schématu a příklad požadavku a odpovědi pro SOAP 1.1 a SOAP 1.2 je umístěn na http://localhost/ltd/ltd.asmx?op=pdfaVerify.
Parametr "localhost" je název používaný pro lokální počítač; namísto něj zapište jméno/IP adresu LTD serveru (dle nastavení v IIS). |
Požadavek
POST /ltd/ltd.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://software602.com/longtermdocs/pdfaVerify"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<pdfaVerify xmlns="http://software602.com/longtermdocs/">
<Input>base64Binary</Input>
<ConformanceLevel>string</ConformanceLevel>
<ReportLanguage>string</ReportLanguage>
<PDFPropsQuery>string</PDFPropsQuery>
<Params>string</Params>
</pdfaVerify>
</soap:Body>
</soap:Envelope>
<Input>
[povinný element]
Vstup | Popis |
---|---|
Base64Binary |
PDF soubor v kódování Base64Binary, jehož formát má být ověřen proti deklarované úrovni PDF/A. |
<ConformanceLevel>
- pokud se hodnota nezadá, zjistí se ze vstupního souboru.
[nepovinný element]
Hodnota úrovně souladu se specifikací archivního formátu PDF/A. Každá novější verze souladu by měla být zpětně kompatibilní. To znamená, že všechny platné PDF/A-1 dokumenty by měly být v souladu se specifikací PDF/A-2. Naopak ne všechny PDF/A-2 vyhovující soubory musí být v souladu se specifikací PDF/A-1. Obdobně to platí pro vztah mezi verzí PDF/A-1 a PDF/A-3, PDF/A-2 a PDF/A-3.
1a |
Vyžaduje přesnou vizuální reprodukci doplněnou o povinné mapování textu na standard Unicode a přesnou deklaraci a popis logické struktury dokumentu (Tagged PDF), ISO 19005-1:2008. |
1b |
Vyžaduje přesnou vizuální reprodukci, ale ne informace o struktuře nebo sémantické informace, ISO 19005-1:2008. |
2a |
Založeno na novější specifikaci PDF dokumentu 1.5, 1.6 a 1.7. |
2b |
|
2u |
Vychází ze specifikace 2b navíc s požadavkem na kódování veškerého textu v dokumentu v Unicode mapování. |
3a |
Vychází ze specifikace ISO 19005-3:2012, umožňuje vkládání libovolných formátů (např. XML, CSV, CAD, wordprocessing dokumentů, tabulkových dokumentů a dalších) do formátu PDF / A jako kompletní archivované objekty. |
3b |
|
3u |
|
Ověření dokumentu, zda se jedná o formát PDF. |
|
PDF_17 |
Ověření souladu dokumentu vůči ISO specifikaci 32000-1:2008 (PDF 1.7). |
<ReportLanguage>
[nepovinný element]
Vstup | Popis |
---|---|
String |
Jazyk PDF/A reportu v odpovědi. Hodnoty:
|
<PDFPropsQuery>
[nepovinný element]
Vstup | Popis |
---|---|
String |
Volitelné, může obsahovat parametry pro vytěžení vlastností z PDF dokumentu. Například:
V názvech klíčů jsou povolené znaky: a-z, A-Z, 0-9, _. V názvech klíčů jsou zakázané znaky: ; (středník) a , (čárka). Pro oddělení jednotlivých klíčů je třeba použít ; (středník) nebo , (čárku). Jednotlivé klíče lze také uzavřít do " " uvozovek. Mezery před/za klíčem odebíráme. Návratové hodnoty pole řetězců PDFProperties jsou:
Pokud se hodnota dané Property.Name nenalezla, Property.Value chybí. Pro parsování metadat z Keywords je třeba v Params nastavit "UseJSON=1". |
<Params>
[nepovinný element]
Vstup | Popis |
---|---|
string |
Volitelné, pro parsování metadat z Keywords je třeba nastavit "UseJSON=1". |
Odpověď
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<pdfaVerifyResponse xmlns="http://software602.com/longtermdocs/">
<pdfaVerifyResult>int</pdfaVerifyResult>
<Report>
<ErrorCode>int</ErrorCode>
<ErrorMessage>string</ErrorMessage>
<ConformanceLevel>string</ConformanceLevel>
<ForcedToImageFormat>boolean</ForcedToImageFormat>
<Result>int</Result>
<Issues>
<PDFAIssue>
<Severity>int</Severity>
<Description>string</Description>
</PDFAIssue>
<PDFAIssue>
<Severity>int</Severity>
<Description>string</Description>
</PDFAIssue>
</Issues>
<PDFProperties>
<Property>
<Name>string</Name>
<Value>string</Value>
</Property>
<Property>
<Name>string</Name>
<Value>string</Value>
</Property>
</PDFProperties>
</Report>
</pdfaVerifyResponse>
</soap:Body>
</soap:Envelope>
<pdfaVerifyResult>
Návratová hodnota | Popis |
---|---|
Int |
Výsledek metody pdfaVerify. 0 = v pořádku. K chybě dojde například pokud není nainstalovaná nebo je nefunkční PDFA podpora. Jinak viz kapitola Návratové kódy. |
<Report>
<ErrorCode>
Návratová hodnota | Popis |
---|---|
Int |
Výsledek funkce ověření shody. 0 = ověření se podařilo, jinak kód chyby. |
<ErrorMessage>
Návratová hodnota | Popis |
---|---|
String |
Textový popis chyby při problému s ověřením shody. |
<ConformanceLevel>
Návratová hodnota | Popis |
---|---|
String |
Úroveň, na kterou se prověřovala shoda. |
<ForcedToImageFormat>
Návratová hodnota | Popis |
---|---|
Boolean |
Hodnota určující, zda byl dokument nuceně převeden do obrázku. |
<Result>
Návratová hodnota | Popis |
---|---|
Int |
Shoda souboru se zvolenou úrovní specifikace.
|
<Issues>
<PDFAIssue>
- Opakovací sekce, dle počtu nalezených neshod
<Severity>
Návratová hodnota | Popis |
---|---|
Int |
Závažnost nalezené neshody:
|
<Description>
Návratová hodnota | Popis |
---|---|
String |
Popis nalezené neshody. |
</PDFAIssue>
</Issues>
<PDFProperties>
<Property>
<Name>
Návratová hodnota | Popis |
---|---|
string |
Název PDF vlastnosti zvolené v PDFPropsQuery. |
<Value>
Návratová hodnota | Popis |
---|---|
String |
Hodnota PDF vlastnosti zvolené v PDFPropsQuery. |
</Property>
</PDFProperties>
</Report>