Java PDFBox将现有PDF的所有内容旋转90度

Java PDFBox将现有PDF的所有内容旋转90度,java,pdfbox,Java,Pdfbox,正如标题所述,我正在尝试将pdf页面从横向旋转到纵向,反之亦然,同时保留所有现有格式 我在堆栈溢出和外部尝试了许多方法/指南,包括阅读现有文档。不幸的是,我仍然找不到答案 很容易说出PDFPage的设置旋转,例如(page.setRotation(90))。 或者通过矩阵和内容流设置旋转。然而,似乎没有一个能按要求工作 IteratorIterator=pages.listIterator(); pddocumenttemp=null; while(iterator.hasNext()){ te

正如标题所述,我正在尝试将pdf页面从横向旋转到纵向,反之亦然,同时保留所有现有格式

我在堆栈溢出和外部尝试了许多方法/指南,包括阅读现有文档。不幸的是,我仍然找不到答案

很容易说出PDFPage的设置旋转,例如(page.setRotation(90))。 或者通过矩阵和内容流设置旋转。然而,似乎没有一个能按要求工作

IteratorIterator=pages.listIterator();
pddocumenttemp=null;
while(iterator.hasNext()){
temp=iterator.next();
-(…代码在这里)-
/**设置页面旋转测试1**/
PDPage page=temp.getDocumentCatalog().getPages().get(0);
页面设置旋转(90);
/**设置页面旋转测试2**/
PDPage page=temp.getDocumentCatalog().getPages().get(0);
PDPageContentStream cs=新的PDPageContentStream(临时、页面、PDPageContentStream.AppendMode.PREPEND、false、false);
矩阵=矩阵。getRotateInstance(数学toRadians(90),0,0);
变换(矩阵);
cs.close();
-(…其他测试等)-
字符串filePath=“..filePath”
临时保存(文件路径);
温度关闭();
}

问题中的示例就是答案,我犯的错误是没有检查项目的每个阶段。对于任何陷入这个问题的人来说,这个示例将pdf旋转90度。

问题中的示例就是答案,我犯的错误是没有检查项目的每个阶段。对于任何陷入此问题的人,示例将pdf旋转90度。

第一个检查页面是否旋转。然后旋转页面

PDRectangle pageSize=page.getMediaBox();

如果((pageSize.getWidth()首先检查页面是否旋转,然后旋转页面

PDRectangle pageSize=page.getMediaBox();

if((pageSize.getWidth())但似乎没有一个能按要求工作-他们以何种方式不这样做?请显示实际结果并勾勒出预期结果。结果证明,这是我的错误,pdf旋转确实如预期的那样工作,这毕竟不是问题,更进一步的事情破坏了预期结果。对于其他人来说,任何一个测试示例都应该将pdf旋转90度。“然而,似乎没有一个能按要求工作。“-他们以哪种方式不这样做?请显示实际结果并勾勒出预期结果。结果证明,这是我的错误,pdf旋转确实如预期的那样工作,这毕竟不是问题,更进一步的事情破坏了预期结果。对于其他人,任何一个测试示例都应该将pdf旋转90度。