【问题标题】:how to rotate pages but not the text in iText?如何旋转页面而不是 iText 中的文本?
【发布时间】:2017-09-20 15:46:07
【问题描述】:

我正在尝试创建一个 PDF 文档,其中一些页面为纵向页面,另一些页面为横向页面,但看到此示例 (iText7 - Page orientation and rotation) 我发现页面旋转为横向,但文本也这样做了 (PDF generated from iText7 samples) ,然后,我需要页面旋转,但文本从左到右继续,在下一张图像中如何。

注意:我尝试使用document.getPdfDocument().addNewPage(new PageSize(PageSize.A4.rotate()));,但它适用于一页,不适用于接下来的 x 页。

【问题讨论】:

    标签: java pdf rotation itext itext7


    【解决方案1】:

    你可以通过设置页面大小来做到这一点

    适用于 itextpdf 5.5.x

    Document doc = new Document();
    PdfWriter.getInstance(doc, new FileOutputStream("D://qwqw12.pdf"));
    doc.open();
    doc.add(new Paragraph("Hi"));
    doc.setPageSize(PageSize.A4.rotate());
    doc.newPage();
    doc.add(new Paragraph("Hi2"));
    doc.newPage();
    doc.add(new Paragraph("Hi3"));
    doc.close();
    

    这将创建一个带有Hi的A4页面,然后是一个带有Hi2横向页面,最后一页也将是面向风景。在您没有通过setPageSize() 设置新页面样式之前,所有新页面都将是横向的。


    适用于 itextpdf 7.x

    PdfDocument pdfDoc = new PdfDocument(new PdfWriter("D://qwqw12.pdf"));
    Document doc = new Document(pdfDoc, PageSize.A4);
    doc.add(new Paragraph("Hi"));
    doc.getPdfDocument().setDefaultPageSize(PageSize.A4.rotate());
    doc.add(new AreaBreak());
    doc.add(new Paragraph("Hi2"));
    doc.add(new AreaBreak());
    doc.add(new Paragraph("Hi3"));
    doc.close();
    

    【讨论】:

    • 您好,感谢您的回复。但是 setPageSize 方法在 iText7 中不起作用。
    • @Raul,抱歉,完全错过了您在问题中使用的版本 7。更新第 7 版的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多