2015-02-09 299 views
0

如何獲得pdfbox的給定頁面的內容高度?我有X頁,我需要添加Y元素。一旦第一頁已滿,它應該開始一個新的頁面,放出其餘的Y元素,當然也開始另一頁,一旦第二頁也滿了。PDFBox - 獲取內容高度

所以:我如何確定頁面是否已滿 - 又名內容高度?

我有這樣的事情:

private static void addChapters() throws IOException { 
    for(int i = 0; i < chapters.size(); i++) { 

     // if page is full, add a new page and start printing on the new page here 

     // Chapter Headline 
     // some output here... 

     // Data table 
     // some more output here 

     contentStream.close(); 
    } 
} 

謝謝!

+1

*我有X頁,我需要添加Y元素。一旦第一頁完整,它應該開始一個新的頁面* - PDFBox只爲PDF生成實現一個低級API。這意味着你必須自己提供佈局代碼。通常這個佈局代碼*會跟蹤當前插入內容的頁面的位置,因此,*知道頁面已滿並開始新的*。你的代碼sceleton不幸遺漏了這些部分(*這裏有一些輸出*,*這裏有更多輸出*)。因此,我們幾乎無法告訴您該代碼如何識別頁面已滿。 – mkl 2015-02-09 13:47:20

回答

1

PdfBox沒有控制頁面佈局的工具。起初我所做的是將單個頁面中我想要的結果數量與其大小相乘,以獲得我即將使用的總高度。然後,您可以開始以高於此結果的Y寫入,並在達到固定數字時更改爲新頁面。

但是,最後我試圖在表格中打印結果,所以我用Boxable for Pdfbox(https://github.com/dhorions/boxable)來處理頁面切換。

+0

你能告訴我如何boxable處理頁面切換? – Erick 2016-05-29 19:21:57