2014-10-07 59 views
0

我想用pdfbox創建PDF(https://pdfbox.apache.org/cookbook/documentcreation.html)。但是,pdfbox似乎並沒有像OpenOffice提供的文本編輯器那樣提供動態文本佈局機制(自動文本流使用預定義文本格式,如塊格式,居中文本,換行符等)。用於pdf創建的pdfbox:如何進行文本佈局?

是否有任何Java庫在pdfbox上提供該功能或與之分離?或者你有免費的代碼嗎?

+0

如果你想在Java或FOP中使用XSL-T,我會推薦iText。 – duffymo 2014-10-07 14:51:45

+1

不,目前還沒有。隨意貢獻一些東西:-) – 2014-10-07 16:40:20

+0

嗯。最好是獨立於輸出格式。然後創建一個適配器或其他東西。 – user1050755 2014-10-08 12:57:20

回答

2

我有同樣的問題,這就是爲什麼我開始PDFBox-Layout。它支持簡單的文字換行,文本和段落對齊,分頁,垂直和列布局,以及易於粗體/斜體突出顯示的標記。

查看Wiki瞭解更多信息。也許你會發現它很有用:-)

0

我在Ruby中有類似的問題。過去我使用過Prawn,它的語法類似於pdfbox。很多原始。

我發現使用HTML + CSS到PDF解決方案好得多。我已經生成HTML和CSS,並且很容易製作特定於打印的CSS。然後我使用wkhtmltopdf或princexml來生成PDF。兩者都是在各種平臺上運行的命令行工具。

+0

HTML沒有分頁符的概念。這當然不是許多目的的表現,但有一些。 – user1050755 2014-10-09 14:33:39

+1

這是不正確的。當然HTML + CSS有分頁符的概念。有分頁之前和分頁之後,以及一些其他控件。甚至有寡婦和孤兒控制。我能夠在HTML中佈局整個小說,然後使用PrinceXML將其轉換爲PDF。 – 2014-10-10 15:51:38

1

BlockFrame(在GitHub上)是PDFBox的另一個佈局框架,填充PDFBox-Layout的不同空間。 PDFBox-Layout似乎面向文本,但BlockFrame專爲複雜的數據結構而設計。它的設計也考慮到可擴展性。

我需要一些東西來打印我生成的填字遊戲,並最終編碼框架。如果有興趣,我會擴展並維護它。應該可以使用BlockFrame繪製更大的PDF文檔的小而複雜的部分,並生成完整的PDF。

反饋將不勝感激。

+0

我建議您在github頁面上使用「Apache PDFBox」而不是「PDF Box」,以便您的項目更容易找到。另外考慮添加示例(截圖)。 – 2017-01-11 09:42:38