如何将页面旋转为横向,页面内容应为纵向 iTextpdf

Posted

技术标签:

【中文标题】如何将页面旋转为横向,页面内容应为纵向 iTextpdf【英文标题】:how to rotate pages into landscape and page content should be in portrait iTextpdf 【发布时间】:2018-01-11 22:54:26 【问题描述】:

我正在尝试创建一个纵向页面超过 2 页,横向页面超过 2 页的 PDF 文档,我发现页面和文本都旋转为横向我需要防止页面内容旋转。我正在使用以下代码

 Document document = new Document(PageSize.A4, 36, 36, 36, 72);
    PdfWriter writer = PdfWriter.getInstance(document, new 
    FileOutputStream(outPutDirectory + indexID + ".pdf"));
    writer.setPageEvent(new Orientation(orientation));
    document.open();
    XMLWorkerHelper.getInstance().parseXhtml(writer,document, new ByteArrayInputStream(parserXHtml(page.getPageContent()).getBytes()))
    document.close();

我的预期结果应该是这样的

【问题讨论】:

【参考方案1】:

您必须更改页面大小,而不是使用页面事件。

例如:

Document document = new Document(PageSize.A4);
PdfWriter writer = PdfWriter.getInstance(document, new 
FileOutputStream(outPutDirectory + indexID + ".pdf"));
document.open();
// Add some content in portrait
document.setPageSize(PageSize.A4.rotate());
document.newPage();
// Add some content in landscape
document.close();

请注意页面大小仅在下一页发生变化。 setPageSize()newPage() 的顺序很重要。

【讨论】:

OP 没有这么说,但他的代码似乎暗示他想使用XMLWorker 填写他的文档。可能他不确定新页面何时开始,因此会尝试使用页面事件......(我承认所有这些纯属猜测) 好的,在这种情况下,他可能想引入一些自定义标签并扩展TagWorkerFactory以引入页面大小的变化。

以上是关于如何将页面旋转为横向,页面内容应为纵向 iTextpdf的主要内容,如果未能解决你的问题,请参考以下文章

在 ios6 和 ios7 的 MPMoviePlayerViewController 中将横向旋转为纵向

旋转回纵向时视口缩放中断

当 UISplitViewController 旋转为纵向时,如何调整 UINavigationController 内容的大小

将 iPhone X 旋转为横向时,封面图像的左侧和下方出现空白

有没有办法让 PayPal 网络视图旋转为横向模式?

如何查找PDF是横向还是纵向