Bár lehetne rémálom is, de nem az :-) .

Igen, nem kis csapás egyszerűen és weben könnyen szerkeszthető formátumban tartanunk dokumentumainkat, és azokat PDF formában alakítani. A leírásban megkísérlek néhány egyszerűbb és bonyolultabb módszert bemutatni.

Néhány korábbi kapcsolodó írás:

Bár a PDF dokumentumot is lehet szerkeszteni (PDF edit), de most vonatkoztassunk el az asztali alkalmazások világától, a leírás főleg webes felületről használható eszközöket kíván bemutatni. Ahol némi Php és HTML, CSS esetleg XML ismerettel varázsolunk egy korrekt PDF állományt, ahol az alap sablon szerkeszthető marad.

qwqo081122070756.jpg

Sablon elkészítése:

Létrehozunk egy HTML állományt, ahol jeleket és stílus bejegyzéseket helyezünk el {nev} {cim}. Az állományt PHP-ben beolvassuk (file_get_contents; file_put_contents), az adatokat felcuccoljuk, majd kimentjük. A sablon önállóan is megtekinthetőnek kell lennie (head,body,etc). A CSS inline módon, a HTML tag-ek re írjuk adjuk meg, használhatunk táblázatok is.

HTMLtoPDF API amit letölthetsz az oldalról:

A letöltések között találsz egy API-t, amit ebből alakítottam ki. Egyébiránt az eredeti kód, szerintem még Windows-on sem működött volna (mivel az az útvonalak nagyon így voltak megadva).

Az xhtmltopdf-et és FPDF-et használja arra, hogy egy megadott linken található html tartalomból pdf-et gyártson. Az eredeti nem így működött és sok minden nem is tetszett, így átalakítottam. A call_api.php fajl mutatja hogy kéne használni (saját felelőségedre).

Beállítások, fájlok:

api_html2pdf.php

  • A fájl elején van néhány egszerű beállítás, ezeket lépjük meg a kommentezett részek segítenek. Szerverre másolva adjunk 0777 jogosultásot a tmp mappára.

call_api.php

  • Ez egy egyszerű példafájl arra, hogy bírhatjuk működésre az API-t. Ezt nem kell feltölteni.

test.pdf

  • Ez az API-val készült, csak test ne töltsd fel.

10z2081122072057.jpg

További lehetőségek PDF fajlok gyártására:

PDF gyártás lehetséges problémák:

  • A legtöbb olyan eszköz ami kiszolgálná az igényeinket, az ISO-8859-2 karakterkészlet ékezetes elemeinél tutira megakad.
  • Olyan rendszer közeli hívásokat kéne lebonyolítani amire jó ha nincs lehetőség weben.
  • XHTML, CSS elemeknél leakad a mutatvány
  • Túl lassú a szerver és kifutunk az időből (A böngésző vagy a szerver bontja)
  • Bár az átalakítás megtörtént a kimenet csúnya

1, Convert ImageMagick megközelítés
Az imageMagick mindenre kapható többek között a Html átalakítását Pdf-re, Ps-re de akár képformátumba is átalakítja. Ehhez a háttérben néhány (html2ps) formátumba át ping-pong-ozza az állományokat, de ez minket nem is zavarna annyira.

Ami gáz és zavaró:

  • A Convert nagyon nem foglalkozik a sablonba beállított formázásokkal, a karakterek csúnyák és sokat kell vele vacakolni mire valahogy kinéz a doksink. Jellemzően átalakítás, ahogy esik úgy puffan módra, jobban járunk a txt fájl használatával.
  • A legtöbb esetben Php System vagy exec függvény kell a használatához, ami jobb helyeken tiltva van, nem véletlenül.
  • A legtöbb ócsó hoston nemhogy system és exec de az ImageMagick-ot sem telepítik, biztos nagyon sokba kerül feltelepíteni (1 perc 10 másodperc, szerverindítással együtt :-)

Megfigyelések a szerkeszthetőség figyelembevételével:

Mivel SVG formátumból is tud konvertálni ezért érdemes itt azt a formátumot használni, majd kimenetet csinálni jpg-re vagy png-re és ebből nyomni Pdf-et. Az eredménye valamivel jobb. Ha kapásból Pdf-et nyomunk SVG-ből akkor valahogy elbaltázza a méreteket, forgatásotokat. SVG fájlt létrehozhatunk Inkscape nevű vektorgrafikus ingyenes programmal; magát az SVG állományt akár Firefox-ban is megtekinthetjük.

  1. convert letter.svg tmpl.jpg
  2. convert tmpl.jpg letter.pdf

FOP

A FOP egy nagyon használható eszköz, feltéve ha tudjuk telepíteni és a leíró nyelvét (XSL-FO) elsajátítjuk (3 év 6 hónap). Az egyik legígéretesebb módszer a PDF és egyéb formátumokba való átalakításra mint PDF, PS, PCL, AFP, XML, RTF,... Gyakorlatilag ha van lehetőségünk a FOP felvarázsolására akkor itt a vége a toPDF problémának.

XHTML fájlok átalakításáról és konvertálásáról szóló JAVA cikk.

FPDF

Egy jóval egyszerűbb megközelítése a FPDF Lib használata. Az FPDF-re épül néhány használható XHTML to PDF koverter, amiknek a beüzemelése egyszerű.

Ezekből akár saját API-t is kialakíthatunk:

HtmltoPdf
: http://radekhulan.cz/other/html2pdf.zip

HTML2PDF: http://sourceforge.net/projects/html2fpdf/

Ez utóbbi képes CSS-el formázott táblázatokat, kiválasztott, bejelölt Input elemeket méret arányosan megjeleníteni. Bár régi bútordarab és nagyon nem fejlesztik, de tüzet oltani nagyon jó, és játszva csinálhatunk belőle saját eszközt.
Ha megtekintjük a példában szereplőhtml oldalt és a kimenet PDF-változatát, láthatjuk mire is képes a html2pdf.

TCPDF:

A TCPDF legnagyobb előnye az, hogy nem halt ki alóla a fejlesztő csapat, a legújabb változat innen letölthető.

TCPDF alapú:

CSS formázott XHTML átalakításra alkalmas lib az XHTML2PDF, FPDF-re épül. Ígéretes és fejlesztik, a teszt is elárulja hogy a bétás PDF átalakító nem is rossz.

Xhtml2PDF Python alapokon:

XHTML2PDF Python alapokon. Ha szerverünk alkalmas Python scriptek futtatására illetve a fent említett rendszerközeli hívásokra alkalmas PHP fügvényeket el tudjuk érni, ez is egy hasznos konvertáló eszköz lehet. A weben felellhető Online átalakító eszközök egy része ezt használja. Egy példa arra miért is értemes Python tanulni, vagy használni.

LibHaru:

Újabb lehetőségünk egy PHP extension-ben a LibHaru-ban rejlik, amit megint nem tudom ki fog feltelepíteni, olcsó hostingra.

zspc081122065250.jpg

Projekt oldal: http://libharu.sourceforge.net/
Egy nagyszerű cikket, útmutatót a telepítésről és használatáról itt találunk. Használható cuccnak tűnik, és nagyon jó dokumentált.

Zend_Pdf:

A Zend_Pdf dokumentációt itt találjuk, nem rossz bár Én többet vártam tőle, személy szerint el sem kezdtem, mert elég mazó egy pl.: egy számla sablon létrehozása, és átalakítása.

Dokumentum formátumból PDF-re alakítás Asztali alkalmazásokkal:

Az itt felsorolt programok az Ubuntu repóban bent vannak, tehát telepítés előtt nézük meg a Synaptic-ban.

Hasznos parancssoros eszközök a PDF témakörhöz, Ubuntu Linuxon:

pdf2svg:

  • PDF formátumot átalakít SVG formátumba (Inkscape, Gimp, Firefox)

gscan2pdf:

  • képekből PDF – import, A PhoenixArt oldalon nagyszerű leírást találunk róla.

pdfedit:

  • Pdf szerkesztés

PdfTk:

  • PDF-ek összefűzésére is használható


poppler-utils:

  • PDF to PostScript converter, PDF-ből képeket szedhetünk ki vele, Pdf állományról infókat szolgáltat, PDF to HTML, PDF to text, PDF elemző progi

pdfcrack:

  • PDF fájlok jelszavának törésére használható

pstoedit:

  • PS és PDF fájlokat szerkeszthető vektoros formára hozza

htmldoc:

  • HTML processor that generates indexed HTML, PS, and PDF

Online átalakító eszközök:

A kapcsolódó Linkek menüpont alatt továbi hasznos oldalakat találunk!

nincs kapcsolódó bejegyzés.