[英]PDF Box: extract images from PDF document and keeping the image orientation
我在這個論壇上找到了一些很好的解決方案,如何使用 PDFBox 從 PDF 文檔中提取圖像。 我使用了以下代碼,我在一篇文章中找到了:
PDPageTree list = document.getPages();
for (PDPage page : list) {
PDResources pdResources = page.getResources();
for (COSName c : pdResources.getXObjectNames()) {
try {
PDXObject imageObj = pdResources.getXObject(c);
if (imageObj instanceof PDImageXObject) {
// same image to list
BufferedImage bImage = ((PDImageXObject) imageObj).getImage();
acceptedImages.add(bImage);
}
} catch (MissingImageReaderException mex) {
log.warn("Missing Image Reader for format: ", mex);
}
}
}
但我遇到了問題,在極少數情況下,一些提取的圖像方向錯誤。 當我查看 PDF 文檔時,圖片顯示正確。 但是一些提取的圖像被旋轉了 nx 90° 度。 我猜旋轉信息存儲在 PDF 的某處?
從源代碼下載(或此處)運行PrintImageLocations.java
示例並分析 CTM(“當前變換矩陣”)以使用Math.round(Math.toDegrees(Math.atan2(ctmNew.getShearY(), ctmNew.getScaleY())))
) 提取旋轉Math.round(Math.toDegrees(Math.atan2(ctmNew.getShearY(), ctmNew.getScaleY())))
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.