Konverze PDF do PDF/A

Webová služba pdfaConvert umožňuje převedení PDF dokumentu do odpovídajícího PDF/A formátu. Formát PDF/A je definován v několika úrovních souladu. Tuto úroveň je možné nastavit, a pokud PDF dokument neobsahuje neopravitelné chyby a neshody oproti zvolené úrovni souladu, bude převeden do formátu PDF/A.

Rozšířená metoda webové služby pdfaConvertEx navíc umožňuje z konvertované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.

pdfaConvert

Popis služby pdfaConvert 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=pdfaConvert.

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/pdfaConvert"

<?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>
    <pdfaConvert xmlns="http://software602.com/longtermdocs/">
      <Input>base64Binary</Input>
      <ConformanceLevel>string</ConformanceLevel>
      <ReportLanguage>string</ReportLanguage>
    </pdfaConvert>
  </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 vybrané úrovni PDF/A formátu.

<ConformanceLevel> – Hodnota úrovně souladu se specifikací archivního formátu PDF/A
[nepovinný element]

1b

Všechny TrueType fonty jsou přiloženy v dokumentu, externí http odkazy nejsou povoleny, ani průhlednost, ISO 19005-1:2008.

Výchozí hodnota, pokud není zvolen žádný ConformanceLevel.

1a

Stejné požadavky jako 1b. Dále 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), specifikace jazyka, ISO 19005-1:2008.

2b

Založeno na novější specifikaci PDF dokumentu 1.5, 1.6 a 1.7. , nově umožňuje JPEG2000 kompresi, podpora průhlednosti, připojení OneType fontů, podpora pro pečeť typu PAdES a možnost vložení PDF/A dokumentů do dokumentu PDF/A-2

2a

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. Jinak platí specifikace dle PDF/A-2.

3b

3u

<ReportLanguage>
[nepovinný element]

Vstup Popis

String

Jazyk PDF/A reportu v odpovědi. Hodnoty:

  • cz – česky.

  • en – anglicky (výchozí).

  • de – německy.

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>
    <pdfaConvertResponse xmlns="http://software602.com/longtermdocs/">
      <pdfaConvertResult>int</pdfaConvertResult>
      <Output>base64Binary</Output>
      <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>
      </Report>
    </pdfaConvertResponse>
  </soap:Body>
</soap:Envelope>

<pdfaConvertResult>

Návratová hodnota Popis

Int

Výsledek metody pdfaConvert. 0 = v pořádku. Jinak viz kapitola Návratové kódy.

<Output>

Návratová hodnota Popis

Base64Binary

V případě úspěchu konverze Base64Binary tvar konvertovaného dokumentu v odpovídajícím formátu PDF/A a zvolené úrovni souladu.

<Report>

<ErrorCode>

Návratová hodnota Popis

Int

Chybový kód – 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ň PDF/A vygenerovaného dokumentu.

<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.

  • 0 = formát odpovídá,

  • 1 = vyskytly se nezávažné neshody,

  • 2 = dokument neodpovídá.

<Issues>

<PDFAIssue> – Opakovací sekce, dle počtu nalezených neshod.

<Severity>

Návratová hodnota Popis

Int

Závažnost nalezené neshody:

  • 1 = informace,

  • 2 = varování,

  • 3 = chyba.

<Description>

Návratová hodnota Popis

String

Popis nalezené neshody.

</PDFAIssue>

</Issues>

</Report>

pdfaConvertEx

Popis služby pdfaConvertEx 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=pdfaConvertEx.

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/pdfaConvertEx"

<?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>
    <pdfaConvertEx xmlns="http://software602.com/longtermdocs/">
      <Input>base64Binary</Input>
      <ConformanceLevel>string</ConformanceLevel>
      <PDFPropsQuery>string</PDFPropsQuery>
      <Params>string</Params>
    </pdfaConvertEx>
  </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 vybrané úrovni PDF/A formátu.

<ConformanceLevel> – Hodnota úrovně souladu se specifikací archivního formátu PDF/A.
[povinný element]

1b

Všechny TrueType fonty jsou přiloženy v dokumentu, externí http odkazy nejsou povoleny, ani průhlednost, ISO 19005-1:2008.

1a

Stejné požadavky jako 1b. Dále 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), specifikace jazyka, ISO 19005-1:2008.

2b

Založeno na novější specifikaci PDF dokumentu 1.5, 1.6 a 1.7. , nově umožňuje JPEG2000 kompresi, podpora průhlednosti, připojení OneType fontů, podpora pro pečeť typu PAdES a možnost vložení PDF/A dokumentů do dokumentu PDF/A-2.

2a

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. Jinak platí specifikace dle PDF/A-2.

3b

3u

<PDFPropsQuery>
[nepovinný element]

Vstup Popis

String

Volitelné, může obsahovat parametry pro vytěžení vlastností z PDF dokumentu.

Příklad:

  • NumOfPages – v PDFProperties vrátí název vlastnosti a hodnotu s počtem stran dokumentu.

  • NumOfSignatures – v PDFProperties vrátí název vlastnosti a hodnotu s počtem podpisů v dokumentu

  • PDFVersion – v PDFProperties vrátí název vlastnosti a jako hodnotu PDF verzi dokumentu.

  • PDFAVersion – v PDFProperties vrátí název vlastnosti a jako hodnotu dokumentem deklarovanou PDF/A úroveň. Pokud hodnota chybí, nejedná se o PDF/A.

  • XmpMetadata – v PDFProperties vrátí vrátí název vlastnosti a jako hodnotu Base64 kódované XML s XMP daty.

  • Metadata_Author – v PDFProperties vrátí název vlastnosti a jako hodnotu autora dokumentu.

  • Metadata_Title – v PDFProperties vrátí název vlastnosti a jako hodnotu název (title) dokumentu

  • Metadata_Subject – v PDFProperties vrátí název vlastnosti a jako hodnotu předmět dokumentu.

  • Metadata_Keywords_ALL – speciální klíč vrací v PDFProperties všechna klíčová slova (Keywords) - jejich názvy a hodnoty (pokud existují).

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:

  • Property.Name

  • Property.Value.

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é, může obsahovat další parametry z Convert Options. Např. použijte “ForcePDFAIfErrors=true“, pokud má být soubor označen jako PDF/A i přesto, že obsahuje chyby (Bude uvedeno v XML zprávě).

Pro parsování metadat z Keywords je třeba nastavit "UseJSON=1".

Odpověď

<?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>
    <pdfaConvertExResponse xmlns="http://software602.com/longtermdocs/">
      <pdfaConvertExResult>int</pdfaConvertExResult>
      <Output>base64Binary</Output>
      <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>
    </pdfaConvertExResponse>
  </soap:Body>
</soap:Envelope>

<pdfaConvertExResult>

Návratová hodnota Popis

Int

Výsledek metody pdfaConvertEx. 0 = v pořádku. Jinak viz kapitola Návratové kódy.

<Output>

Návratová hodnota Popis

Base64Binary

V případě úspěchu konverze Base64Binary tvar konvertovaného dokumentu v odpovídajícím formátu PDF/A ve zvolené úrovni souladu.

<Report>

<ErrorCode>

Návratová hodnota Popis

Int

Chybový kód – 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ň PDF/A vygenerovaného dokumentu.

<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.

  • 0 = formát odpovídá,

  • 1 = vyskytly se nezávažné neshody,

  • 2 = dokument neodpovídá.

<Issues>

<PDFAIssue> – Opakovací sekce, dle počtu nalezených neshod.

<Severity>

Návratová hodnota Popis

Int

Závažnost nalezené neshody:

  • 1 = informace,

  • 2 = varování,

  • 3 = chyba.

<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 a nalezené v PDF dokumentu.

<Value>

Návratová hodnota Popis

String

Hodnota PDF vlastnosti zvolené v PDFPropsQuery a nalezené v PDF dokumentu.

Pokud se hodnota dané Property.Name nenalezla, Property.Value chybí.

</Property>

</PDFProperties>

</Report>