Generowanie PDF

Generowanie PDF
T9
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 3 lata
  • Postów:48
0

Mam aplikację backend - spring boot, front angular. Aplikacja prezentuje na froncie podsumowanie raportu - zestawienie kilku danych, ładnie opakowanych wizualnie. Potrzebuję wygenerować z tego pdf używając darmowych rozwiązań.. Na backendzie do generowania pdf używałem XWPF, ale estetyka takiego rozwiązania jest wg mnie bardzo kiepska... Zastanawiam się, czy może da się to zrobić z poziomu frontu i będzie to ładniej wyglądać, a może jednak z poziomu javy da się też przygotować równie ładne pdf? W jaki sposób przykładowo operatorzy usług telefonicznych/tv/internet etc generują przejrzyste faktury pdf? Ktoś ma jakiś pomysł, coś może doradzić?
Może da się zrobić jakiś szablon estetyczny? - tylko w czym i jak? :)

AK
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 2 miesiące
  • Postów:3561
1

Choćby generatory raportów, Jasper, BIRT, czy ze świata Microsoftowego.

A ogólnie to Twój post podnosi WG MNIE pewnego rodzaju ślepą uliczkę, w jaką prowadzą "frontowe" aplikacje - drugi raz ten sam / bardzo podobny design trzeba odwzorować na backendzie (a co gorsza utrzymywać oba).
Pozostanę przy generowaniu HTML na backendzie (Apache Wicket) i poczekam, aż znów server-side będzie modne, bo będzie.

Np w Primefaces (wiem, ze JSF powoli odchodzi) jest komponent "jedno kliknięcie" który wytwarza PDF, XLS i kilka innych formatów z już zdesignowanego projekty tabelarycznego.


Bo C to najlepszy język, każdy uczeń ci to powie
edytowany 1x, ostatnio: AnyKtokolwiek
AN
  • Rejestracja:około 19 lat
  • Ostatnio:około 10 godzin
0

Operatorzy usług mogą mieć aplikację webową postawioną w różnych technologiach, a w większości przypadków można technologie łączyć. Sam PDF powstaje po stronie serwera i już jako gotowy jest wysyłany do klienta.

Na przykład, w C#/.NET jest biblioteka iTextSharp, w niej bawiłem się jakiś czas temu, w nim można całkiem ładne PDFy zrobić, stawia się pola tekstowe, różne kształty, jest to opisane w internecie. Być może da się z Javy uruchomić bibliotekę dla .NET, albo też bibliotekę "oprawić" w aplikację, która byłaby po prostu uruchamiana z danymi wejściowymi, a wynik aplikacji byłby tym PDF.

Pierwowzorem iTextSharp był iText dla Javy, może to jest to, czego potrzebujesz.

edytowany 1x, ostatnio: andrzejlisek
AK
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 2 miesiące
  • Postów:3561
0

Przy czym javowski iText 2.x ma friendly licencję na start, wersje 5 .NET i Java już "toksyczną" OS albo komercyjną (v 3 oraz 4 nie było)

iText to bardzo niskopoziomowe rozwiązanie - a silniki raportów i tak najczęściej go używają.
Rzecz ciekawa, bardzie wiele softu JVM używa "nie toksycznej" wersji 2.7, a nie są to Januszsofty (np wspomniany Primefaces, Jasper)

Innym produktem PDFowym jest Apache PDFBox, podobno słabszy od iTexta, ale może kiedyś go użyję.


Bo C to najlepszy język, każdy uczeń ci to powie
edytowany 2x, ostatnio: AnyKtokolwiek
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 10 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
2

Używam PDFBoxa, ale to się raczej nadaje do czytania i przetwarzania niż do tworzenia ładnych raportów. Za dużo męczenia jeśli ktoś chce od zera stworzyć ładny dokument.

Do ładnych PDF to:
albo jakiś Jasper Reports
albo Apache FOP https://xmlgraphics.apache.org/fop/

fop jest dość niskopoziomowy, ale za to mocny - np. nadaje się ładnie do tworzenia dokumentów w różnych dzikich językach.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 2x, ostatnio: jarekr000000
MF
  • Rejestracja:około 6 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Kraków
  • Postów:58
1

Możesz zerknąć też na https://itextpdf.com/en - prostsza biblioteczka od FOPa, kiedyś nawet ciekawy raport zrobiłem. Można się bawić logo, obrazkami, stopkami, headerami na każdej stronie, numeracją itp.


T9
można, ale nie jest darmowa
T9
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 3 lata
  • Postów:48
0

No właśnie z tą licencją iTexta co piszą u siebie na stronie nie jest tak różowo i trzeba im zapłacić, żeby użyć. Potrzebuję czegoś darmowego, z jasną licencją, dlatego niestety iTexta odpuściłem. Kilka ładnych lat temu coś w nim robiłem i był fajny... był. Z Jasperem, kiedyś próbowałem, ale poległem...
Jak tak na szybko spojrzałem na tego PDFBoxa, to rzeczywiście jest to taka trochę rzeźba... (potrzebuję i też taki PDF czysto tekstowy - więc myślę że wypróbuje, dzięki :)
Co do Apache FOP, dobrze rozumiem, że trzeba mu xsl stworzyć ze stylami, jak ma wyglądać i na tej podstawie on generuje pdf? hmm jak to ogarnąć? :)

AK
gdzieś w tej rodzinie jest konwerter html do pdf, przypuszczalna nazwa htmltopdf
T9
@AnyKtokolwiek: ale mówisz o PDFBox czy Apache FOP?
AK
Chyba gdzieś koło FOP, ale moze neizalezny ???
T9
tylko że ona opiera się na iText :( ale dzięki
AK
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 2 miesiące
  • Postów:3561
0
turo90 napisał(a):

No właśnie z tą licencją iTexta co piszą u siebie na stronie nie jest tak różowo i trzeba im zapłacić, żeby użyć.

Pamiętam, był na stronie iTextu taki "łzawy" artykuł, "jak to źle Ci będzie z darmową licencją 2.x", z sugestią, ze "teraz my dla twojego dobra wżenimy Ci płatną".
Powoływali się na ewentulane dependencje, od których iText 2.x "by zależał" etc...
Ja to interpretuję jako czystą psychologię, LGPL wersji 2.x broni się sam - ale nie jestem prawnikiem.
W każdym razie ćwierć świata chodzi na 2.x i rozpowszechnia swój soft na przyjaznej biznesowo licencji, czyli czują się dobrze.


Bo C to najlepszy język, każdy uczeń ci to powie

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.