Získání (vytěžení) vlastností PDF dokumentu

Webová služba GetPDFInfo 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 GetPDFInfo 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=GetPDFInfo.

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

<?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>
    <GetPDFInfo xmlns="http://software602.com/longtermdocs/">
      <Input>base64Binary</Input>
      <Query>string</Query>
      <Params>string</Params>
    </GetPDFInfo>
  </soap:Body>
</soap:Envelope>

<Input>
[povinný element]

Vstup Popis

Base64Binary

Data PDF souboru v kódování Base64Binary, z něhož se mají získat požadované vlastnosti.

<Query>
[povinný element]

Vstup Popis

String

Musí obsahovat parametry pro vytěžení vlastností z PDF dokumentu.

Napří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é, pro parsování metadat z klíčových slov (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>
    <GetPDFInfoResponse xmlns="http://software602.com/longtermdocs/">
      <GetPDFInfoResult>int</GetPDFInfoResult>
      <PDFProperties>
        <Property>
          <Name>string</Name>
          <Value>string</Value>
        </Property>
        <Property>
          <Name>string</Name>
          <Value>string</Value>
        </Property>
      </PDFProperties>
      <ErrorMessage>string</ErrorMessage>
    </GetPDFInfoResponse>
  </soap:Body>
</soap:Envelope>

<GetPDFInfoResult>

Návratová hodnota Popis

string

Výsledek metody GetPDFInfoResult. 0 = v pořádku.

Ostatní návratové kódy mohou být:

  • 15 (PRN_CR_OPEN_DOC) = PDF se nepodařilo otevřít.

  • 85 (PRN_CR_ERR_CREATING_REPORT) = nebyl specifikován parametr Query.

  • 94 (PRN_CR_EXCEPTION) = neočekávaná chyba při zpracování. ErrorMessage obsahuje popis chyby.

<PDFProperties>

<Property>

<Name>

Návratová hodnota Popis

string

Název PDF vlastnosti zvolené v Query.

<Value>

Návratová hodnota Popis

string

Získaná hodnota PDF vlastnosti zvolené v Query.

</Property>

</PDFProperties>