我想使用页面大小不等的 itext 创建一个 pdf 文件。 我有这两个矩形:
Rectangle one=new Rectangle(70,140);
Rectangle two=new Rectangle(700,400);
我正在这样写 pdf:
Document document = new Document();
PdfWriter writer= PdfWriter.getInstance(document, new FileOutputStream(("MYpdf.pdf")));
当我创建文档时,我可以选择指定页面大小,但我希望我的 pdf 中的不同页面有不同的页面大小。 可以这样做吗?
例如。第一页的页面大小为矩形一,第二页的页面大小为矩形二。
最佳答案
我创建了一个 UnequalPages为您展示其工作原理的示例:
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(dest));
Rectangle one = new Rectangle(70,140);
Rectangle two = new Rectangle(700,400);
document.setPageSize(one);
document.setMargins(2, 2, 2, 2);
document.open();
Paragraph p = new Paragraph("Hi");
document.add(p);
document.setPageSize(two);
document.setMargins(20, 20, 20, 20);
document.newPage();
document.add(p);
document.close();
在页面初始化之前更改页面大小(和边距)很重要。第一页在您open()
文档时初始化,所有后续页面在 newPage()
发生时初始化。可以显式触发新页面(在代码中使用 newPage()
方法)或隐式触发(通过 iText,当页面已满且需要新页面时)。
关于java - iText 创建页面大小不等的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23117200/