0

私はjsfでWeb共有プロジェクトについて研究しています。このプロジェクトでは、ユーザーは.doc、.pdf、.ppt、..etcなどのドキュメントをアップロードできます。このドキュメントの最初のページをサムネイルで表示したいと思います。少し調べてみたところ、Apache POIが見つかりました。誰かが私の問題について何か提案がありますか?WordDocの最初のページのサムネイル画像を返すにはどうすればよいですか?私はこのコードを試します。このコードは、単語docに含まれる最初の画像を取得します。

        POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("d:\\test.doc"));
        HWPFDocument doc = new HWPFDocument(fs);
        PicturesTable pt=doc.getPicturesTable();
        List<Picture> p=pt.getAllPictures();
        BufferedImage image=ImageIO.read(new ByteArrayInputStream(p.get(0).getContent()));
        ImageIO.write(image, "JPG", new File("d:\\test.jpg"));
4

1 に答える 1

0

あなたが何をしているのかは何もしません。HWPFDocument は、ドキュメントに埋め込まれたサムネイルを抽出できます (ファイルを保存するときは、[プレビューを追加] オプションをオンにします)。そのため、HWPFDocument は、サムネイルを持つドキュメントのサムネイルのみを抽出できます。

そのためには、{code} を作成する必要があります。

static byte[] process(File docFile) throws Exception {
    final HWPFDocumentCore wordDocument = AbstractWordUtils.loadDoc(docFile);
    SummaryInformation summaryInformation = wordDocument.getSummaryInformation();
    System.out.println(summaryInformation.getAuthor());
    System.out.println(summaryInformation.getApplicationName() + ":" + summaryInformation.getTitle());
    Thumbnail thumbnail = new Thumbnail(summaryInformation.getThumbnail());
    System.out.println(thumbnail.getClipboardFormat());
    System.out.println(thumbnail.getClipboardFormatTag());
    return thumbnail.getThumbnailAsWMF();
}

{code} その後、おそらく WMF ファイル形式をより一般的な形式 (jpeg、png など) に変換する必要があります。ImageMagick が役に立ちます。

于 2014-02-21T09:42:28.413 に答える