Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP a generování PDF

Zdravím,

generuju pomocí PHP faktury, použil jsem třídu TCPDF, která podporuje znakovou sadu UTF, v níž mám napsanou celou aplikaci. Jakmile se však vygenerovala faktura, tak v ní nefungovaly některé české znaky (zejména "čřě").

Byl jsem proto nucen si převést vlastní font, a to český Arial přímo z C:/Windows/Fonts. Jakmile jsem tento převedený font přidal do generovaného dokumentu, vznikl mi 438kB faktura, a jelikož jich na ftp klidně může být za chvíli tisíc, tak je to opravdu dost. Zkoušel jsem taky použít některé fonty přímo z třídy TCPDF, avšak při použití freeserif mi vylezlo PDF o velikosi 800kB, tak jsem to vzdal.

Nemáte prosím někdo zkušenosti s generováním českých PDF v unicode kódování, případně s třídou TCPDF?

Ještě dodám: Podle mých informaci TCPDF umí generovat české PDF, tak nevím, kde je problém. Net jsem prolezl jak to šlo, něco jsem našel, ale stejně jsem našel jen samé převody fontů do truetypu, které vedou k velkým PDF. Když jsem vygeneroval PDF fakturu jen s Arialem, kde blbly české znaky, došel jsem k PDF necelé 3kB, což je krásné.

Díky za rady

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Zdravím pánové, před rokem jsem tady zakládal toto téma a řešení jsem nedostal. Týkal se 500kB PDF f…
Kuncek 13.02.2010 20:02
Kuncek
Musel jsem za dnešek vyřešit krom jiného i generování PDF seznamů a nebýt vás, musel bych do práce i… nový
Martin Směták 24.04.2010 16:49
Martin Směták
Moc dekuji za pomoc a zip soubor.:beer: nový
Rado_ 15.07.2010 22:40
Rado_
Super, díky! Jen doplním, že stačí přepsat všechny názvy fontů v šabloně na arialce nový
Scrand 01.09.2010 16:10
Scrand
Ahoj, stačí použít font Dejavu serif, který je součástí TCPDF. Velikost PDF potom začíná na cca 80kB… nový
Marty08 05.10.2011 13:12
Marty08
Díky, díky, díky, díky, díky. :-) Všem nový
JackeOb 10.01.2012 10:25
JackeOb
Zdar, já zkoušel snad všechno a nijak sem ito nedaří zprovoznit. Stále chybí české znaky. Nepochopil… poslední
Vebon 22.01.2012 11:22
Vebon

Zdravím pánové,
před rokem jsem tady zakládal toto téma a řešení jsem nedostal. Týkal se 500kB PDF faktur vygenerovaných pomocí PHP TCPDF třídou v UTF-8 kódování.

Po roce jsem se k tomu nějak znovu dostal při úpravě aplikace a podařilo se mi vyřešit výslednou velikost faktury. Zmenšil jsem ji z 500kB na 80kB. V obou případech (500kB i 80kB) byl použit font Arial, a to normální a bold.

Výslednou velikost jsem zmenšil tím, že jsem metrickou definici písma nepřevedl z Arialu z Windows, ale stáhl jsem si Arial CE (Central Europe, tedy Arial pouze se znaky pro Střední Evropu). Do generovaného PDF jsem vložil znaky z ISO-8859-2 znakové sady, která je zobrazena na: ISO_8859-2

Zájemci koukněte zde: ceske_pdf

Ještě jednou připomínám, PDF generuje PHP skript v UTF-8 kódování a dokument je v UTF-8 kódování (tedy žádné funkce typu iconv() nejsou použity).

Metrickou definici přikládám k příspěvku. Věřím, že to někomu pomůže.

Zpět do poradny Odpovědět na původní otázku Nahoru