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:
- PDFtoImage
- DOC, RTF, PDF, ETC.. szöveges formátumba történő alakítása
- Dokumentumok indexelése Linuxon és Windowson
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.
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.
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.
- convert letter.svg tmpl.jpg
- 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.
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.
- OpenOffice Export
- OpenOffice PDFImport
- AbiWord Export
- PDF-ek összefűzése
- PDF edit
- PDFTK, PDFTK GUI Mindenre alkalmas amit PDF-el lehet követni.
- PDF Sam JAVA alapú PDF manipulációs eszköz, nagyon használható
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:
- http://www.pdfonfly.com/
Nagyon jó képet ad akár weboldalról is. - http://www.htmltopdf.co.uk/
- http://web2.pdfonline.com/
- http://www.pdfonline.com/pdf2word/index.asp
- http://pdftextonline.com/q/
- DOC2PDF: http://www.doc2pdf.net
- WebPage2PDF, és emailben kapod: http://www.pdfdownload.or
A kapcsolódó Linkek menüpont alatt továbi hasznos oldalakat találunk!
nincs kapcsolódó bejegyzés.
0