我读到的关于 iText 的所有内容都说您应该能够设置页面大小,然后创建一个新页面。但出于某种原因,当我尝试这个时,我的第一页没有旋转。但我的第二个是。有什么想法吗?
response.setContentType("application/pdf");
Document document = new Document();
try{
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
PdfWriter.getInstance(document, buffer);
document.open();
//Start a new page
document.setPageSize(PageSize.LETTER.rotate()); // 11" x 8.5" new Rectangle(792f, 612f)
document.newPage();
Paragraph topText = new Paragraph();
// add some content here...
document.close();
DataOutput dataOutput = new DataOutputStream(response.getOutputStream());
byte[] bytes = buffer.toByteArray();
response.setContentLength(bytes.length);
for(int i = 0; i < bytes.length; i++) {
dataOutput.writeByte(bytes[i]);
}
} catch (DocumentException e) {
e.printStackTrace();
}
最佳答案
document.newPage()
的真正意思是“完成当前页面并打开一个新页面”。这意味着在您open()
文档之后,您已经准备好了一个空白页面(无论文档之前设置的大小如何)。
您应该在打开文档之前设置您的页面大小:
document.setPageSize(PageSize.LETTER.rotate());
document.open();
关于java - iText rotate() 不会定位第一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11349248/