2013-11-03 83 views
1

我正在編寫一些邏輯來構建一個大的單個PDF文件,我們的用戶可以在他們方便的時候打印。我正在使用Java的iText庫(通過Clojure的clj-pdf)。可以使用iText控制PDF版面?

我試圖讓PDF在每個頁面上顯示相同的確切模板表單,但是我似乎無法找到任何文檔或指示可以使PDF內容「適合頁面」。

這些表單中的文本稍有不同,所以有可能每頁需要的文本行數更少。這意味着內容有機會蔓延到下一頁,或者太短,導致下一頁變成前一頁,違背了文檔其餘部分「每頁一頁」的要求。

我想弄清楚,如果我的選項幾乎只是手動檢查每個頁面上的文本的長度,並可能手工裁剪它,如果我去了n行,或者如果PDF格式以某種方式支持有段落+表格+標題的巧妙方式都適合於一個頁面。有些UI系統允許您控制如何處理溢出,從裁剪到調整字體大小的任何位置,所以我很好奇PDF是否支持這種類型的任何內容。

編輯:爲了簡單而結束了分頁,並沒有意識到當我寫這個問題時的選項。

+0

您聲明pdf支持它...我想您的意思是我選擇創建pdf的應用程序支持它。正如你所說的,有很多方法可以控制從裁剪到字體大小,行間距到段落間距的溢出......如果你指定iText作爲你的解決方案,那麼你可以編程所有這些。如果你正在使用替代方法像xsl fo這樣的解決方案,那麼它們可能在您選擇的產品中。根據你提出的問題,你需要自己編程。 –

回答

0

如果您想要控制文本佔用的空間,例如使其適合單個頁面,則要創建ColumnText對象並在模擬模式中添加內容。如果文字適合頁面,請將其添加爲真實。如果沒有,請使用較小的字體大小。這在MovieAds示例中演示,其中文本片段被嵌入到AcroForm字段中。