java - 如何使用 Java 中的 PDFBOX 库查找 pdf 是纵向还是横向

标签 java pdf pdfbox

我正在使用 PDFBOX-1.8.6 库(强制使用)在 Java 中做项目。 我的问题是

  1. 如何检查输入的 pdf 文件是纵向还是横向?
  2. 如果每个页面的尺寸相同,如何检查/扫描 PDF 中的纵向或横向?例如,两者都是标准 A4 尺寸。 通过下图你会更清楚。 my Landscape - Portrait problem 我只想检查其内容是否旋转。那么我该如何应对上述问题呢?

最佳答案

假设您有一个 PDPage 对象:

PDRectangle mediaBox = page.findMediaBox();
boolean isLandscape = mediaBox.getWidth() > mediaBox.getHeight();

但是...页面可以旋转:

int rotation = page.findRotation();
if (rotation == 90 || rotation == 270)
    isLandscape = !isLandscape;

这仅适用于 1.8.*。在 2.* 版本中,使用 getMediaBox()getRotation()。不要在 1.8.* 版本中使用 get* 方法,因为如果页面级别的信息丢失,它们不会查找页面树。

关于java - 如何使用 Java 中的 PDFBOX 库查找 pdf 是纵向还是横向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38919551/

相关文章:

Java - 实现另一个类并修改方法

java - 在 Itext 报告中使用 PdfPTable 时不显示数据

python - 使用 PDFminer 解析 pdf(梵文脚本)会给出错误的输出

Python:pdf文件的哈希与下载的对象

java - 如何保留PDF中的文本布局格式和文本字体?

java - 为库存管理项目创建计费页面。 java

java - 在 Java 7 多捕获 block 中,捕获的异常的类型是什么?

java - C# - 等同于 java 的 ExpectedConditions.not

java - 使用 pdfbox 时 pdf 页面中的坐标

java - 使用 PdfBox 添加页面后尝试保存 PDF 时出现 "IOException: COSStream has been closed and cannot be read"