问题描述
我的工作是去除 PDF 中的水印。我发现一些文本水印以某种角度显示在 PDF 中。所以我可以通过文字的角度来判断文字是否可能是水印。现在我在获取文本的旋转角度时遇到了问题。
我尝试调用 TextPositon.getRation()
、TextPositon.getDir()
,我还引用了 Rotate text in pdfbox with java。
mkl 从 PDFBox text extraction,rotation and font name,size 说“您的 getDir 仅返回 90° 的倍数,但可以以任意角度绘制文本”, 但我还是觉得很迷茫。
解决方法
来自 ExtractText 工具:
static int getAngle(TextPosition text)
{
Matrix m = text.getTextMatrix().clone();
m.concatenate(text.getFont().getFontMatrix());
return (int) Math.round(Math.toDegrees(Math.atan2(m.getShearY(),m.getScaleY())));
}