java - PDFBox - 提取缩放和旋转的图像
问题描述
我正在尝试从 PDF 中提取图像(使用 PDFBox),就像它们在 PDF 中的样子一样(即应用了任何缩放和旋转 - 而不是原始的底层图像)。为此,我正在调整此处给出的答案,https ://stackoverflow.com/a/45570185/701867 ,通过添加以下内容(img
我保存的 BufferedImage 在哪里,并且image
是 PDImageXObject 对象:
Matrix m = getGraphicsState().getCurrentTransformationMatrix();
AffineTransformOp op = new AffineTransformOp(m.createAffineTransform(), AffineTransformOp.TYPE_BILINEAR);
BufferedImage img = op.createCompatibleDestImage(image.getImage(), image.getImage().getColorModel());
op.filter(image.getImage(), img);
但这似乎不起作用,并且我在不同的 PDF 上得到了各种不同的错误(通常是生成的图像太大,或者生成的宽度/高度为 0)。
我是否需要以某种方式缩放矩阵(可能转换为像素),还是我完全错误地接近这个并需要重新考虑?
解决方案
推荐阅读
- javascript - 如何处理多个不同侧面的一个侧边栏(如何处理此侧边栏的更新)?
- rust - 在 Rust 的模板参数中使用显式生命周期时出现意外错误
- asp.net - 使用日期时间的 ASP.NET MVC 5
- python - 带有字典值或键的 Python fillna
- github - Markdown 不显示我的 mp4 本地视频
- notifications - 在 Laravel 6 中使用队列发送 ResetPassword 通知 - 错误属性“视图”
- laravel-7 - 从 laravel 中的中间表获取数据
- pyspark - Sum() 和 count() 在 pyspark2 中不能与 agg 一起使用
- airflow - 气流:重新运行 DAG 无法加载以前运行的 XCOM
- memory-leaks - Dart Stream.periodic 内存泄漏