如何将页面旋转为横向,页面内容应为纵向 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 内容的大小