Tworzenie PDF za pomocą Javy [duplikat]

Możliwy duplikat:
PDF Generation Library for Java

Pracuję nad programem do faktur dla lokalnej firmy księgowej. Jaki jest dobry sposób na utworzenie pliku PDF za pomocą Javy? Jakaś dobra biblioteka? Jestem zupełnie nowy w eksporcie PDF (w dowolnym języku).
Author: lakshman, 2011-09-09

3 answers

Wolę przesyłanie moich danych do XML (używając Castor, XStream lub JAXB), następnie przekształca go za pomocą arkusza stylów XSLT w XSL-FO i renderuje go za pomocą Apache FOP w PDF. Pracował do tej pory dla 10-stronicowych raportów i 400-stronicowych podręczników. Uważam, że jest to bardziej elastyczne i stylowe niż generowanie plików PDF w kodzie za pomocą iText.

 74
Author: Philipp Reichart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-25 20:09:55

Poniżej znajduje się kilka bibliotek do tworzenia plików PDF w Javie:

  1. iText
  2. Apache PDFBox
  3. BFO

W przeszłości używałem iText do generowania plików PDF z odrobiną bólu.

LUB możesz spróbować użyć FOP: FOP jest formaterem XSL napisanym w Javie. Jest on używany w połączeniu z silnikiem transformacji XSLT do formatowania dokumentów XML do formatu PDF.

 32
Author: Ritesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-16 09:58:11

Inną alternatywą byłoby JasperReports: Biblioteka JasperReports . Używa samego iText i jest czymś więcej niż biblioteką PDF, o którą prosiłeś, ale jeśli pasuje do Twoich potrzeb, wybrałbym ją.

Mówiąc najprościej, pozwala na projektowanie raportów, które można wypełniać podczas wykonywania. Jeśli używasz custom datasource, Być może będziesz w stanie łatwo zintegrować JasperReports z istniejącym systemem. Zaoszczędziłoby ci to kłopotów z całym layoutem, np. gdy faktury obejmują więcej stron, gdzie każda strona powinna mieć stopkę i tak dalej.

 14
Author: box,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-12 04:58:09