我正在使用android itext lib创建一个pdf。它在单页中显示完整的数据。我想将单页拆分为A4大小的多页,底部有页码。
private void callDocument(File file, Bitmap screen) throws Exception {
try {
com.itextpdf.text.Rectangle pagesize = new com.itextpdf.text.Rectangle(webview.getWidth(), webview.getHeight());
Document document = new Document(pagesize, 0f, 0f, 0f, 0f);
PdfWriter.getInstance(document, new FileOutputStream(file));
document.open();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
screen.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
addImage(document, byteArray);
document.close();
sendEmailToGuest();
} catch (Exception e) {
e.printStackTrace();
}
}
想要将单页拆分为多个页面
您可以像这样创建文档:
Document pdfDoc = new Document(PageSize.A4, 0f, 0f, 0f, 0f);
如果您想将页面旋转为横向,您可以添加。在
如果达到内容的最大高度,iText将创建新页面。之后Rotate()
。A4
看看这个答案https://stackoverflow.com/a/11206227/5840866关于页面末尾页码的类似问题。您也可以使用PdfPageEventHelper
也看看这个来自官方iText网站的惊人例子,它可能会给你一个帮助https://itextpdf.com/en/resources/examples/itext-7/event-handlers-and-renderers