在 Java 中为 PDF 创建缩略图

新手上路,请多包涵

我正在寻找一个可以获取 PDF 并从第一页创建缩略图 (PNG) 的 Java 库。

我已经看过 JPedal,但它高昂的许可费完全让人望而却步。我目前正在使用 iText 来操作 PDF 文件,但我相信它不会生成缩略图。我可以在命令行上使用 Ghostscript 之类的东西,但我希望尽可能让我的项目全部使用 Java。

原文由 Shaggy Frog 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 491
2 个回答

PDF Renderer 是一个 LGPL 许可的纯 Java 库,它使这个变得非常简单(取自他们的示例页面):

 File file = new File("test.pdf");
RandomAccessFile raf = new RandomAccessFile(file, "r");
FileChannel channel = raf.getChannel();
ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
PDFFile pdffile = new PDFFile(buf);

// draw the first page to an image
PDFPage page = pdffile.getPage(0);

//get the width and height for the doc at the default zoom
Rectangle rect = new Rectangle(0,0,
                (int)page.getBBox().getWidth(),
                (int)page.getBBox().getHeight());

//generate the image
Image img = page.getImage(
                rect.width, rect.height, //width & height
                rect, // clip rect
                null, // null for the ImageObserver
                true, // fill background with white
                true  // block until drawing is done
                );

原文由 FRotthowe 发布,翻译遵循 CC BY-SA 4.0 许可协议

只要您只使用他们使用的 PDF 文件的子集,PDF 渲染器就可以了。使用 JPod 和 JPedal,您是在为一个活跃的和开发的库而不是一个死项目付费。

原文由 mark stephens 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏