如何旋转页面而不是 iText 中的文本?
how to rotate pages but not the text in iText?
我正在尝试创建一个 PDF 文档,其中一些页面为纵向页面,另一些页面为横向页面,但看到这个示例 (iText7 - Page orientation and rotation) I found that the page rotates to landscape but the text also does it (PDF generated from iText7 samples),然后,我需要旋转页面但文本继续从从左到右,下一张图如何。
注意:我尝试使用 document.getPdfDocument().addNewPage(new PageSize(PageSize.A4.rotate()));
,但它适用于一页,不适用于接下来的 x 页。
您可以通过设置页面大小来实现
对于 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();
我正在尝试创建一个 PDF 文档,其中一些页面为纵向页面,另一些页面为横向页面,但看到这个示例 (iText7 - Page orientation and rotation) I found that the page rotates to landscape but the text also does it (PDF generated from iText7 samples),然后,我需要旋转页面但文本继续从从左到右,下一张图如何。
注意:我尝试使用 document.getPdfDocument().addNewPage(new PageSize(PageSize.A4.rotate()));
,但它适用于一页,不适用于接下来的 x 页。
您可以通过设置页面大小来实现
对于 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();