Shell végrehajtás PHP alatt PDF kiolvasására

Felbátorodva a kolléga posztján, csapjuk szét az uborkaszezont egy újabb bejegyzéssel. Tőlem az igazán lámer Linux-írásokat szokhattátok meg, de most jöjjön egy kis PHP.

shell_exec… Ezzel közvetlenül shell parancsokat adhattok ki a PHP szkriptből. Tudom, hogy kísértetiesen hangzik, és a biztonségi kérdések is komolyak; ezért tessék finoman bánni vele.

PDF-et szerettem volna kiolvasni, de a ritkán használt PHP könyvtárakkal sokszor csak az idő megy. Ekkor leltem rá a pdftotext alkalmazásra:

sudo apt-get install poppler-utils

Amit már csak meg kellett hívni PHP alól:

$content = shell_exec('/usr/bin/pdftotext ' . $filename . ' - -layout -enc UTF-8');

…és máris egy magyar karakterekkel is megbírkózó eszközünk van. A paraméterezés sok apróságot lehetővé tesz, így akár teljes HTML-táblázatokat olvashatunk ki a struktúra megtartásával, vagy a tartalmat akár rögtön egy másik fájlba tölthetjük.

Ami szívás, az az, hogy a PDF-generáláskor pl. a word entereket tesz minden sor végére. Jól megírt reguláris csere függvénnyel persze ez is rendbetehető. De ezt már a tifantáziátokra bízom :)

Lájkolj, ha kell még PHP-témájú bejegyzés a jövőben!

UPDATE: ha a PDF-fájlból képeket is ki szeretnél olvasni, akkor használd a pdfimages szoftvert.

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.
This entry was posted in Uncategorized and tagged . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

2 Comments

  1. Ágoston Péter
    Posted -0001-11-30 at 00:00 | Permalink

    Jeee. És a képekkel mit csinál?

  2. Tamas Pal
    Posted -0001-11-30 at 00:00 | Permalink

    Ignorálja :)Képekhez itt van ez: http://linux.die.net/man/1/pdfimages

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>