簡體   English   中英

PDF Box:從 PDF 文檔中提取圖像並保持圖像方向

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM