必要なサイズがわかっている場合は、ページサイズを変更できます。
@page
これにはルールを使用して
ください: 注: この例では、Jsoupを使用して html で作業しています(コメントを参照)。
/*
* This part is optional - Jsoup is used for cleaning the html and inserting the style tag into the head.
* You can use everything else for doing this.
*
* If you will use Jsoup, make shure you set proper charset (2nd parameter).
*
* Note: this is NOT a W3C Document but a Jsoup one.
*/
Document doc = Jsoup.parse(file, null);
/*
* Here you specify the pagesize you need (size: with height).
* Inserting this html is the key part!
*/
doc.head().append("<style type=\"text/css\"><!--@page { size:50.0cm 20.0cm; }--></style>");
ITextRenderer renderer = new ITextRenderer();
/*
* This part ist jsoup related. 'doc.toString()' does nothing else than
* returning the Html of 'doc' as a string.
*
* You can set it like in your code too.
*/
renderer.setDocumentFromString(doc.toString());
final String outputFile = "test.pdf";
OutputStream os = new FileOutputStream(outputFile);
renderer.layout();
renderer.createPDF(os);
os.flush();
os.close();
このコードを使用すると、テーブル全体が横向きのページにある Pdf を取得できます (必要に応じて幅/高さを変更する必要がある場合があります。