提问者:小点点

创建发票Pdf与itext显示在单页中。想要用页码拆分多个页面


我正在使用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();
    }

}

想要将单页拆分为多个页面


共1个答案

匿名用户

您可以像这样创建文档:

Document pdfDoc = new Document(PageSize.A4, 0f, 0f, 0f, 0f);

如果您想将页面旋转为横向,您可以添加。在之后Rotate()。A4如果达到内容的最大高度,iText将创建新页面。

看看这个答案https://stackoverflow.com/a/11206227/5840866关于页面末尾页码的类似问题。您也可以使用PdfPageEventHelper

也看看这个来自官方iText网站的惊人例子,它可能会给你一个帮助https://itextpdf.com/en/resources/examples/itext-7/event-handlers-and-renderers