Export textu z PDF s pomocí OCR technologie

Webová služba PdfToText umožňuje exportovat text z libovolného dokumentu ve formátu PDF, umožňuje také scanování textu z obrázků s pomocí OCR technologie. Metoda PdfToText2 umožňuje skenovat více sekcí v jednom PDF dokumentu.

Výkonnost OCR je závislá na několika faktorech, včetně použitých konverzních parametrů a hlavně hardware prostředků.

Popis služby PdfToText 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=PdfToText a http://localhost/ltd/ltd.asmx?op=PdfToText2.

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

<?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>
    <PdfToText xmlns="http://software602.com/longtermdocs/">
      <InputPDF>base64Binary</InputPDF>
      <Pages>
        <int>int</int>
        <int>int</int>
      </Pages>
      <Flags>long</Flags>
      <Params>string</Params>
      <Lang>string</Lang>
    </PdfToText>
  </soap:Body>
</soap:Envelope>

<InputPDF>
[povinný element]

Vstup Popis

Base64Binary

Libovolný dokument ve formátu PDF v kódování Base64Binary.

<Pages>
[nepovinný element]

Vstup Popis

Int

Čísla stránek, ze kterých se má vytěžovat text, indexovány od 1. Pro indexování od konce použijte záporné hodnoty, kde -1 odpovídá poslední stránce. Když není vyplněný, prohledává se celý dokument.

<Flags>
[nepovinný element]

Vstup Popis

Long

Rozšiřující nastavení OCR Engine. Pokud stránka neobsahuje obrázek, nelze OCR použít.

Pro nastavení možno využít jakékoli kombinace následujících hodnot:

  • EnableOCR – 16 (0x0010); Použije OCR Engine při vytěžování textu. Jako výchozí nastavení se vytěžuje jenom text ze stránek, které obsahují jeden celostránkový obrázek (scanované soubory, fotografie apod.).

  • ForceOCR – 32 (0x0020); Použije OCR Engine na všechny stránky, které obsahují aspoň jeden obrázek. Nedoporučuje se používat na stránky, kde je kombinace text a obrázek, protože písemný obsah bude před OCR konverzí převeden na obrázek, čímž může dojít ke ztrátě kvality textu.

  • ExtendedLogging – 64 (0x0040); Rozšířené logování, může zvětšit velikost logovacího souboru. Nemá vliv na rychlost a výsledky funkce, jen na objem logovaných dat.

<Params>
[nepovinný element]

Vstup Popis

String

Možno definovat jen část dokumentu pro OCR ve formátu: Coordinates=[x_val],[y_val],[width_val],[height_val]

Příklad: Coordinates=50,50,200,200.

<Lang>
[nepovinný element]

Vstup Popis

String

Jazyk, který se použije při konverzi pomocí OCR engine, hodně ovlivní kvalitu výsledného textu. Může být ve formátu:

  • cz – čeština.

  • en – angličtina.

  • de – němčina.

Pro více jazyků kontaktujte naši podporu.

V požadavku metody PdfToText2 je navíc element XML_Template:

<XML_Template>
[povinný element]

Vstup Popis

string

XML struktura obsahující souřadnice skenovaných sekcí. Příklad XML si vyžádejte u podpory.

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>
    <PdfToTextResponse xmlns="http://software602.com/longtermdocs/">
      <PdfToTextResult>int</PdfToTextResult>
      <Text>string</Text>
      <ErrorMessage>string</ErrorMessage>
    </PdfToTextResponse>
  </soap:Body>
</soap:Envelope>

<PdfToTextResult>

Návratová hodnota Popis

Int

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

<Text>

Návratová hodnota Popis

String

Text vytěžený z PDF souboru.

<ErrorMessage>

Návratová hodnota Popis

String

Pokud nastane problém, obsahuje popis problému (kde nastal, co nefungovalo).