0

PDFから画像を収集し、pdfBoxを使用してそれらをフォルダーに保存するコードがあります。私はそれらについて何も知らないので、画像は役に立たない。PDFには、セクションヘッダーとそれに続く1〜3枚の画像が含まれています。プログラムを変更して、どのセクションから来ているのかを教えてくれるようにする方法はありますか?

コードは次のとおりです。

public static void main(String[] args) throws IOException {

        PDDocument document = null; 
        try {
            document = PDDocument.load("C:\\Users\\564864\\Downloads\\wsh2012.pdf");
        } catch (IOException ex) {
            System.out.println("" + ex);
        }
        List pages = document.getDocumentCatalog().getAllPages();
        Iterator iter = pages.iterator(); 
        int i =1;
        String name = null;

        while (iter.hasNext()) {
            PDPage page = (PDPage) iter.next();
            PDResources resources = page.getResources();
            Map pageImages = resources.getImages();
            if (pageImages != null) { 
                Iterator imageIter = pageImages.keySet().iterator();
                while (imageIter.hasNext()) {
                    String key = (String) imageIter.next();
                    PDXObjectImage image = (PDXObjectImage) pageImages.get(key);
                    image.write2file("C:\\Users\\564864\\Desktop\\Java\\helloworld\\images\\" + i+"");
                    i ++;
                }
            }
        }

    }
4

1 に答える 1

1

PDF に追加のメタデータが含まれていない限り、PDF 内にセクションはありません。http://www.jpedal.org/PDFblog/2012/06/extracting-structured-text-from-pdf-files/で、構造化テキスト (画像にも同様に適用されます) に関する記事を書きました。

于 2012-08-11T07:57:52.907 に答える