【问题标题】:How to determine an Image is rotated less than 90 degrees using PDFBOX如何使用 PDFBOX 确定图像旋转小于 90 度
【发布时间】:2014-01-17 05:04:36
【问题描述】:

您好,我想在 PDFBOX 中检查以下场景: “图像旋转的角度不是 90 度的倍数”。 任何人都可以在这个主题上提供帮助。 示例 PDF 位置: https://drive.google.com/file/d/0BzaBYVk1XnP_UkJjMDRBc2owd0E/edit?usp=sharing

【问题讨论】:

  • boolean mutipleof90 = (angle % 90 == 0);
  • 检查页面内容流。你会找到q 325.79257 -42.55899 30.90112 236.55064 164.64209 365.19037 cm /X1 Do Q。将该变换矩阵分解为其平移、缩放、旋转和倾斜部分。看看旋转矩阵。
  • 嗨,您能告诉我如何推导出 PDXObjectImage 对象的旋转角度吗?
  • @ShreyosAdikari 取一个向量,应用变换矩阵,并计算原始向量与变换向量之间的角度。如果涉及倾斜,则您选择的起始向量会影响结果,应进行标准化以最适合您的需求。
  • 亲爱的 MKL,获取当前变换矩阵(包含变换的平移、旋转、缩放和倾斜分量)的 PDFBox API 是 PDGraphicsState.getCurrentTransformationMatrix()。这将返回 org.apache.pdfbox.util.Matrix。这包含用于提取缩放和平移矩阵的方法,但奇怪的是,它不包含任何获取旋转矩阵的方法。我们需要一种方法来获取图像的旋转矩阵,并从中提取相对于默认坐标系的旋转角度。对此有什么帮助或建议吗?

标签: java validation pdf pdfbox


【解决方案1】:

正如Slippery所说,我已经写得很长了

//set the angle of the image
double angle;
if(angle % 90 == 0){
//Perform operation when the angle is multiple of 90
}else{
//Perform operation when the angle is NOT multiple of 90
}

这就是你可以处理这种情况的方法

【讨论】:

  • 如何确定PDXObjectImage的角度?
  • 问题的关键是确定PDF中图像的旋转角度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-13
  • 1970-01-01
  • 2012-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多