Sziasztok!
Keresgélek, de értelmes/értelmezhető megoldást nem találtam eddig. Lényegében adatbázis tartalma alapján .doc és .xls állományokat kell készítenem. LAMP környezet, adatsorok szépen rendelkezésre állnak, csak a számuk változó, a követelmény pedig az, hogy egy oldalra férjenek ki. Unom a kézi formázást, és arra gondoltam, PHP-ban csak van olyan könyvtár, amivel .doc állományt lehet gyártani. Akadt, de az UTF-8 karaktereket nem szerette.
Az a kérdésem, hogy PHP-ból (vagy PHP alól meghívott Python programmal) hogyan tudok .doc, .xls állományokat gyártani, a megfelelő formázásokkal? Tudtok-e működő könyvtárakról, vagy akár a Writer és a Calc közvetlen vezérlésének módszeréről. Odáig jutottam, hogy mintha lehetne a LibreOffice-t headless módban indítani, na de hogyan tovább?
Továbbá még nyitott kérdés, hogyan adok át PHP-ból adatokat, tömböket a Python-nak - ha ez az út járható a dokumentumok létrehozásához.
Üdv, Cözi
- 918 megtekintés
Hozzászólások
utf-8 csv-be kinyomod és a libreoffice szépen megnyitja.
pch
--
http://www.buster.hu "A" számlázó
--
- A hozzászóláshoz be kell jelentkezni
Fejléc, formázás a CSV-ből nem nagyon jön át.
Másrészt mondjuk előáll egyszerre 30 dokumentum, nem szeretném ezeket kézzel konvertálni.
Cözi
- A hozzászóláshoz be kell jelentkezni
NAGYON rút, de ha elmentesz egy html táblázatot .xls néven, akkor az excel megnyitja táblázatként...
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Azt hiszem ez erre való: https://pypi.python.org/pypi/pyoo
De biztosan vannak más könyvtárak is. Ez az első találatok egyike amit a Google kereső adott.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox
- A hozzászóláshoz be kell jelentkezni
Ez nagyon nem arra való, ehhez futó OOo/LibreOffice kell.
- A hozzászóláshoz be kell jelentkezni
Én a PHP-Python összekötéstől nem tartanék, azaz, nem féltelek, ha kitartó vagy, utánakeresel, sok útja van.
Viszont nem lehet PDF-ben gondolkozni?
Ha mindenképpen egy adagnak rá kell férnie egy oldalra, akkor a kinyert adatok sorának számával fordított arányban
növelném a betütípust.
Én PDF-eket szoktam gyártani. Kell hozzá egy kis babrálás, de simán viszi az UTF-8at és minden egyebet.
pl: https://tcpdf.org/
vagy
http://www.fpdf.org/
(szerkeszthetőnek kell maradjon?)
- A hozzászóláshoz be kell jelentkezni
Ha igazán szép és portable nyomtatható dokumentumot akarsz, akkor Latex, PDF kimenettel. Több projektben is használok ilyet. Összehasonlíthatatlanul szebb kimenete van mint egy Word-nek. Ráadásul kb. semmit nem kell hozzá telepíteni a kliens oldalon. Manapság firefox és chrome is beépítve tartalmaz PDF olvasót, meg szinte az összes okostelefon.
A Latex-es generálás legnagyobb hátránya a sebessége. Direkt módon 1 sec alatt létrehozható PDF Latex-ből tízszer annyi idő lehet, vagy még több. A másik hátránya (ha ezt annak lehet nevezni) hogy nem árt minimálisan érteni a tipográfiához.
Kérdés, hogy mi a cél? Ha komoly szerződést vagy egy cég nagy értékű számláit kell generálni, akkor a kinézet a fontosabb. De ha egy olyan programról van szó ami egy ügyfélszolgálaton nyomtat sorszámot a sorban álláshoz, akkor a sebesség a fontosabb.
- A hozzászóláshoz be kell jelentkezni
Szia! Python-Excel gyűjtemény itt:
Ezek közül használtam már az openpyxl-t és az xlwt-t is. Mindkettő nagyon jól megy. Az openpyxl-ben szinte bármit meg tudsz csinálni amit Excel-ben meg tudnál. Igaz hogy nem ODS-t ment, de az mindegy (az openoffice ugyanúgy megnyitja, és az xlsx formátum használata nem okoz licensz problémákat).
A word-re nem tudok kapásból megoldást, de azt tudom hogy LibreOffice-hez van olyan hogy "Python Uno híd". De még sosem használtam. (Meg azt hiszem ahhoz kell telepített libreoffice. Az xlwt-hez és az openpyxl-hez nem kell semmi.)
- A hozzászóláshoz be kell jelentkezni
Tessék itt a docx változat:
https://python-docx.readthedocs.io/en/latest/
Ez se open document, de működik libreoffice-al is.
- A hozzászóláshoz be kell jelentkezni
" a követelmény pedig az, hogy egy oldalra férjenek ki"
Ezt az ügyfél kérte? :-)
- A hozzászóláshoz be kell jelentkezni
Igen, a doksi nekem jó lenne PDF-ben, de mások még később változtatni akarhatják. A TCPDF-et ismerem, használom, köszönöm, a többit nézem!
- A hozzászóláshoz be kell jelentkezni
Hogy kifér-e egy oldalra vagy nem, az nem a használt library-tól függ, és 99%ban nem a programozótól. Hanem az adattól amit rá kell nyomtatni. Tipikus ügyfél hülyeség: végre sikerül elérni, utána majd jönnek azzal hogy de legyen nagyobb a betű mert nem olvasható.
Ugye ők is tisztában vannak azzal, hogy ez nem azon múlik hogy milyen library-val állítod elő a dokumentumot?
- A hozzászóláshoz be kell jelentkezni
Másként megfogalmazva: tőled kérik, de igazából saját maguktól kellene kérniük.
- A hozzászóláshoz be kell jelentkezni
Persze, szerintem egyről beszélünk. A bejövő adatok számától tenném függővé mondjuk a betűméretet, tapasztalati úton ez meglesz. Egy bizonyos korláton túl nem növekszik az info mennyisége.
Cözi
- A hozzászóláshoz be kell jelentkezni