2015-02-09 122 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