Generowanie PDF

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? :)

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.

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.

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ę.

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.

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.

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ąć? :)

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0