PDF generálás PHP-ből

 ( pete | 2004. július 7., szerda - 11:50 )

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Hello!

Azt esetleg megvilágítaná valaki, hogy az fpdf-et hogyan lehet rávenni, hogy iso-8859-2-es karaktereket jelenítsen meg úgy, hogy a ő és ű betűk is rendesen megjelenjenek?
A mellékelt betűtípusok kalaposnak jelenítették meg ezt a két betűt. Próbáltam generálni hozzá másik betűt ttfből, amiben biztosan jók voltak az ékezetek, de a pdf-ben ott sem jelentek meg az ékezetek helyesen.

Kösz

Hubidubi

1, győződj meg hogy mindenütt 8859-2 -t használsz-e (ahol csak lehet, nem tudom pontosan hol lehet ilyet állítgatni)

2, Ha a pdf-et megjelenítő rendszernek ( a host) nincs meg az a betűtípus, amit megadsz és nincs beágyazva sem, akkor font behellyetesítést csinál egy másikkal. Ergo, nézd meg, hogy a kalapos betűk valóban az új fonttal íródnak-e ki.

[quote:ed5f43c106="pete"]1, győződj meg hogy mindenütt 8859-2 -t használsz-e (ahol csak lehet, nem tudom pontosan hol lehet ilyet állítgatni)[/quote:ed5f43c106]

Szerintem ezzel nem lehet gond, a rendszeren mindenhol jók az ékezetek.

[quote:ed5f43c106]
2, Ha a pdf-et megjelenítő rendszernek ( a host) nincs meg az a betűtípus, amit megadsz és nincs beágyazva sem, akkor font behellyetesítést csinál egy másikkal. Ergo, nézd meg, hogy a kalapos betűk valóban az új fonttal íródnak-e ki.[/quote:ed5f43c106]

Direkt egy egyszerű Arial betűtípust próbáltam ki. Az egész dolog ugyanazon a gépen fut, tehát tuti van a rendszeren olyan betű. Az eredmény változatlan. Ahogy néztem itt fontot beágyazni nem is lehet.

Hubidubi

Dehogynem, nézd meg a 7-es tutorialt. 8)

Nos úgy alakult, hogy dinamikusan szertnék pdf-eket generálni php-ből. A PHP a pdflibbel képes is erre, ezért egy új 1.3-as apache-ot és 4.3.7-es PHP-t fordítok a célra. A baj az, hogy a pdflib nem free és logo-t hagy az oldalon, ha nincs licensz, ezért az OS/Free lite verziót próbáltam meg összehozni a fentiekkel.

a lib települ, a php fordul, de az apache fordítása itt megáll:
[code:1:a50741a1bf]gcc -DLINUX=22 -DHAVE_SET_DUMPABLE -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED `./apaci` \
-o httpd buildmark.o modules.o modules/standard/libstandard.a modules/php4/libphp4.a main/libmain.a ./os/unix/libos.a ap/libap.a lib/expat-lite/libexpat.a -Wl,-rpath,/usr/local/zlib/lib -Wl,-rpath,/usr/local/libjpeg/lib -Wl,-rpath,/usr/local/libpng/lib -Wl,-rpath,/usr/local/pdflib/lib -rdynamic -L/usr/local/zlib/lib -L/usr/local/libjpeg/lib -L/usr/local/libpng/lib -L/usr/local/pdflib/lib -Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4 -rdynamic -L/usr/local/zlib/lib -L/usr/local/libjpeg/lib -L/usr/local/libpng/lib -L/usr/local/pdflib/lib -lcrypt -lcrypt -lpdf -lz -lpng -ljpeg -lpng -lz -ljpeg -lz -lresolv -lm -ldl -lnsl -lcrypt -lcrypt -lm -lcrypt
modules/php4/libphp4.a(pdf.o): In function `zif_pdf_open':
/usr/local/src/php-4.3.7/ext/pdf/pdf.c:472: undefined reference to `PDF_open_fp'
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `/usr/local/src/apache_1.3.31/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/usr/local/src/apache_1.3.31'
make: *** [build] Error 2
[/code:1:a50741a1bf]

próbáld ki apache2.0val
milyen gccvel próbáltad?
:?

próbáld inkább ezt az FPDF osztályt
http://fpdf.org/

gcc version 2.95.4 20011002 (Debian prerelease)

A woody gcc-jével. Rendesen fordít mindent.

x-daemon: ha ez működik, lógok neked egy sörrel.

Én is az FPDFet használom, NAGYON jó!
(én is mehetek sörözni? :lol: )

Szia!

Ötletek a fordításhoz:
- zlib támogatás kell a php-hoz hogy működjön, régen ez nem volt benne a doksijába (zlib, zlib-dev csomagok debain alatt, --with-zlib)
- Én úgy csinálom hogy lefordítom, telepítem a pdflibet, majd utánna a php-t forgatok. (természetesen ahova rakja a libjeit, annak benne kell lenni az ld.so.conf-ba)
- a pdflib forrásában van egy bind/php/ext alkönyvtár az ebben található állományokat bemásolni a php/ext/pdf alkönyvárba (Volt egy verzió amit csak így tudtam bele gyömöszölni :))
- Nekem volt egy olyan problémám ha a php-ba bele akartam rakani az interbase támogtást és a pdflib, támogatást akkor nem tudtam lefordítani.(ez azóta sem oldódott meg nekem :( )

Ha nem vagy valami oknál fogva elkötelezve a pdflib mellet akkor érdemesebb az előzőekben említett megoldásokat megnézni, vagy a http://www.phpclasses.org/ böngészni kicsit!

Üdv
kagy

Kösz az infót, igazából nem vagyok elkötelezve mellete. PDF-et akarok készíteni :)

A gáz valszeg az, hogy én a lite-t próbálom mindenáron belegyömöszölni, mert az OS és nincs benne a 'vízjelük'. A lite csak az extákban kevesebb, pl. kész pdf-et nem lehet benne megnyitni, nincs intelligens form stb.

Jelenleg ott tartok, hogy lefordult, de csak a kereskedelmi licencest tudom din. modulként betölteni (kivettem a --with-pdflib opciót). Közben felraktam a javasolt class-t is, nagyon korrekt és békésen megvannak. Most átnézem a doksiját, míg fordul cucc, de ha sikerül is a lite-ot beletömni, azért megtartom.

A sör mindkettőtöknek áll, ha szegeden vagytok behajthatjátok. :lol:

Ha a freepdf nem megy, miert varsz tobbet a PHP beleforditott generatortol? :)

A FreePDF megy. A másik nem....

OS stuff rulez.

[quote:83a5a31d9d="pete"]A FreePDF megy. A másik nem....

OS stuff rulez.[/quote:83a5a31d9d]
Én is sokat szenvedtem a pdflib-bel, de nekem sajnos nem volt lehetőségem mást választani :(

Jelenleg a 4.0.5 van belefordítva a php-ba.

[quote:82347a83cc="pete"]gcc version 2.95.4 20011002 (Debian prerelease)[/quote:82347a83cc]
az ok. aszittem vmi gcc 3.4. az szokott ilyeneket csinalni :wink:

Ki melyik lehetőséget ajánlja? Három variációt találtam:
1) TCPDF
2) FPDF
3) FOP

Lehetőleg OSS project legyen és egyszerűen lehessen használni. Nem szükséges gyorsnak lennie és grafikákat sem kell megjelenítenie. Elég táblázat és latin2 karakterkészlet használata.

Az fpdf-et probaltam a listarol. Mukodott.

SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta

fop-ot nem ismerem igy egyertelmuen tcpdf :)
ugyan par honapja amikor probaltam meg eleg szar volt itt ott (tablazatok kezelese fix fejleccel es lableccel) igy vegul openoffice-al kellett megoldanom, de mostanaban nagyon sok uj kiadasa volt, igy elkepzelheto hogy jol hasznalhato cucc valt belole

Ha HTML-ben szeretnéd megcsinálni a formázásokat, akkor MPDF.
Ha css 2.1-es implementálású html parsert akarsz: dompdf (ékezeteket nem mindig viszi sajna)

ezpdf
nekem bevált.

"A +1 az a proletárlájk."

Az FPDF (imho) nem tud UTF8-at, a TCPDF tud (de sajnos be kell ágyazni a fontot).
A FOP nem JAVA-ra épül?

az sFPDF (class) tud, de telepiteni kell hozza par dejavu fontot...

SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta

Mi ezt használtunk, webkittel renderel és tud css-t is. Nekünk bejött.

https://code.google.com/p/wkhtmltopdf/

+1
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal

Ha nem akarsz sokat szívni, akkor ezt javaslom:
http://html2fpdf.sourceforge.net/
Ez egy kis framework az fpdf köré, az ékezeteket is jól kezeli. A html értelmezője nem túl erős, fogd fel úgy, hogy nem html-t kell neki beadni, hanem html szerű valamit, és akkor jó lesz.

Nem javasolnam, hogy ceges adatokkal teli PDF-et kulso service-zel generaljon barki.

Html to PDF álom címmel készítettem egy blogbejegyzést az akkori PDF generálási lehetőségekről: http://twitt.hu/hG
A lista nem teljes, és tényleg aggályos külsős forráskora rátolni érzékeny adatokat.

A másik progi ami nagyon tetszett a témakörben:
HTMLtoPDF nyílt forráskódú platform független alternatíva: http://twitt.hu/hH
Nagyon jól paraméterezhető cucc, de vannak igényei.

arth2o: http://csillanas.hu

Latex-et senki nem használ PHP-ból PDF generálásra? :)

Petya

Megtanítasz rá, használni fogom.

jó lenne tudni mire szeretnéd használni, pár generátort már csináltam;)

Van egy dinamikusan előállított táblázat (mikor milyen szűrések alapján). Ez lehet csak pár soros vagy nagyon sok soros.
Ebből kell olyan nyomtatható változatot csinálnom, ahol minden oldalon van fejléc és egy másik, pár centi magas táblázat az alján (+ oldalszám).

Egyszerűbbnek tartom saját kinézet előállítását PHP-ből mint a HTML-t utólag átalakítani. Ha LaTeX tud ebben segíteni, akkor várom a véleményedet hogyan fussak neki.

Továbbra is a html2fpdf-et ajánlom. Csinálsz 3 egyszerű html-t php-ból: 1 fejléc, 1 lábléc, meg egy táblázat az adatokkal. Ezt odaadod neki, a többi nem a Te gondod :-)

Biztos vagy abban hogy a fejléc, lábléc minden oldalon ott lesz, a középső nagy táblázatot meg automatikusan betördeli az oldalakra?

Hat, ha oldalankent generalod a pdf-et akkor igen, egyebkent ketlem.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Ettől tartok én is. Marad az, nekem kell összerakni az oldalakat egyesével és saját kimeneti formátumban; mivel egyre kevésbé hiszem hogy HTML -> PDF konverzió lehetséges az esetemben.

Sokkal de sokkal kevesebb vele a szívás ha a saját megoldásodat használod, hidd el:).
Amikor én utoljára pdf generálással foglalkoztam, komplett könyveket kellett adatbázis alapján generálni (tartalomjegyzék, 1x fejezet, mindbe más tartalom, dupla hasábok, fejléc, lábléc, oldalszám ésmégkurvasokminden, persze html tartalom alapján).

Igen, használtam. Működik.
Egyébként meg nézd meg az examplejét: http://html2fpdf.sourceforge.net/action.php?page=debugcases/test3.html

latexben tutti, van benne mindenféle táblázatos környezet.

esetleg megfontolhatod, hogy csv-be tolod ki php-ből és excellel buherálják meg maguknak azok, akiknek kell...

"[...] excellel buherálják meg maguknak azok, akiknek kell..."
Vezető beosztású dolgozók (is vannak köztük), nekik nem kell érteni az excel-hez.

Necces, sokszor eleve html formazasokat tartalmazo sztring a kiindulasi alapanyag.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

jelen.

Pont ebben a pillanatban fejeztem be, hogy ne kalapos ő jelnjen meg nekem sem, mert alapból ezt csinál az FPDF. Új fontot állítottam be.
Eddig működött, még nincs olyan sok tapasztalatom vele.

"the further you go outside, the further you go inside"

subscribe

Én dompdf-et használok és remek valamennyi ékezet. UTF-8-at használok a websiteon és cp1250-re kódolom át a szöveget. A forrás, amit feldolgoz HTML. Csak A4-es méretet tud kezelni hiba nélkül, de akár több oldalast is. Szóval müxik, de néhány megkötéssel.
Ha valaki megszorult, írjon és küldök fontokat és példát is hozzá.

Régebben írtam erről egy-két cikket.
http://opendir.hu/webalkalmazas/php/255-html-fajlok-atalakitasa-pdf-formatumba/
Már akkor sem találtam profi ingyenes megoldást, amit bármilyen tárhelyen használhatók.
Volt olyan ami nagy méretű PDF-et tolt, volt olyan amiben a karakterkészlet gondok megoldhatatlannak tűntek :)!
Etc..
A napokban úja megnéztem mi a pálya. Egyenlőre a fizetős szolgáltatásokat láttam jobbnak.
----------
arth2o: honlapkészítés

mpdf
Nem tudom, hogy nem került még elő.
Tud olyat, hogy fejléc, lábléc, tábla, és ha több oldalas lesz mindenhova berakja.
http://www.mpdf1.com/mpdf/index.php

pch
--
http://www.buster.hu "A" számlázó
--

Olvastam/hallottam egy WKPDF nevu cuccrol (na jo, ennel picit tobbrol van szo, neha meg kell taszajtani az uj verzio binarisat egy +x flaggel, mert ftp-n nem mindig megy jol fel a file), errol mit lehet/erdemes tudni?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal