Wpis z mikrobloga

Cześć

Przepisuje od nowa pewien system którego jedną z funkcjonalności jest generowanie raportu w formie dużej tabeli. Problemem jest to że instytucje które będą to drukować będą miały tylko drukarki A4, max A3.

W poprzedniej wersji obszedłem to generując zdjęcie za pomocą https://wkhtmltopdf.org/
wygenerowane zdjęcie ciąłem za pomocą biblioteki GD w #php do rozmiaru A4 i z powstałych obrazków robiłem jednego pdfa (na 40-50 stron) za pomocą jeszcze innej biblioteki

W nowym systemie używam #python i reportlab.

Pytanie czy można to zrobić jakoś sprawniej? Bez kombinowania z trzema bibliotekami.

ps. oczywiście forma tabeli nie może zostać zmieniona i oczywiście musi być drukowana.

#programowanie #programista15k
  • 6
Czy masz konieczne wymaganie, że z systemu musi automatycznie wylecieć plik pdf?
Pytam, bo ja też mam program z tabelką i my po prostu tworzymy tabelkę na stronie www a potem ręcznie drukujemy całość z przeglądarki.
User może wybrać druk do pliku pdf albo drukarkę
@wiesiu2: moim zdaniem niepotrzebnie robisz z tego zdjęcie potem je tniesz i potem znowu przekształcasz na pdf. Możesz bezpośrednio dane przedstawić w formie html-a i takiego htmla zmienić w pdf, właśnie z biblioteka wkhtmltopdf. Aby lepiej zapanować nad tym kiedy ma być kolejna strona (np po 40 wierszach) możesz nadać klasę, która wkhtmltopdf odczyta jako kolejna strona pagebreak. Dodając odpowiedni parametr --footer-center "[page]/[topage]" możesz tez dodać numerację stron lub własnym
@wiesiu2: No to wtedy ewentualnie możesz zrobić tak
- bierzesz pierwsze 40 wierszy (powiedzmy długość A4)
- wrzucasz pierwsze 10 kolumn x 40 wierszy na pierwszą stronę, potem kolejne i tak do końca kolumn
- bieresz kolejne 40 wierszy