`

PDF转图片的JAVA开源项目研究

 
阅读更多

项目中要使用PDF的缩略图,使用java几个开源项目来对pdf转换为图片的工作。

参照了文章:http://javasogo.iteye.com/blog/1169234 

对比这几款开源项目PDFRenderer、pdfbox、jpedal 的做法:

1.PDFRenderer: 确实效率最高,但是缺少字体支持对大多数中文pdf处理不了(很奇怪为什么项目组还没做默认字体支持)

2.pdfbox:字体基本都可以转换,但容易内存溢出(我搞了几十M文件就不行了)

3.jpedal:效率不错。不过我这里好几个中文pdf文件就是生成缩略图不对,我还向项目组提bug了

没有办法,在目前我遇到字体解决不了情况,我寻找到了ICEPDF,这个项目也有商业和开源的。我用了开源的ICEPDF-4.2.2 (最新有4.3了),它其实用了jpedal的字体支持库,确能支持我手上的中文pdf,而且效率不错(测试没遇到内存溢出)。使用比较方便,这里把代码贴在这里:

 

public static final String FILETYPE_JPG = "jpg";
	public static final String SUFF_IMAGE = "." + FILETYPE_JPG;

/**
	 * 将指定pdf文件的首页转换为指定路径的缩略图
	 *@param filepath 原文件路径,例如d:/test.pdf
	 *@param imagepath 图片生成路径,例如 d:/test-1.jpg
	 *@param zoom     缩略图显示倍数,1表示不缩放,0.3则缩小到30%
	 */
	public static void tranfer(String filepath, String imagepath, float zoom)
			throws PDFException, PDFSecurityException, IOException {
		// ICEpdf document class
		Document document = null;

		float rotation = 0f;

		document = new Document();
		document.setFile(filepath);
		// maxPages = document.getPageTree().getNumberOfPages();

		BufferedImage img = (BufferedImage) document.getPageImage(0,
				GraphicsRenderingHints.SCREEN, Page.BOUNDARY_CROPBOX, rotation,
				zoom);

		Iterator iter = ImageIO.getImageWritersBySuffix(FILETYPE_JPG);
		ImageWriter writer = (ImageWriter) iter.next();
		File outFile = new File(imagepath);
		FileOutputStream out = new FileOutputStream(outFile);
		ImageOutputStream outImage = ImageIO.createImageOutputStream(out);
		writer.setOutput(outImage);
		writer.write(new IIOImage(img, null, null));
	}
分享到:
评论

相关推荐

    Java开源项目汇总.pdf

    "Java开源项目汇总" Java是一种广泛应用的编程语言,它有着庞大的开源社区和丰富的知识体系。本文档汇总了各种Java开源项目,涵盖了Java教程、Java实战、系统设计、devops、工具等方面的知识点。 Java教程 * ...

    [Java]PDF转图片解决中文乱码.zip

    PDFBox是Apache软件基金会的一个开源项目,提供了丰富的API来读取、写入、修改PDF文档。在PDF转图片功能上,PDFBox能够将每个页面渲染成高质量的图像,支持多种图像格式,如JPEG、PNG等。这对于需要在线预览PDF或者...

    java pdf转图片

    其中一个流行的库是PDFBox,它是Apache软件基金会的开源项目,提供了处理PDF文档的各种功能,包括转换为图片。另一个是IText,虽然主要设计用于生成和修改PDF,但也可以读取PDF并转换为图像。本例中提到的...

    JAVA实现多页PDF转一张长图图片

    本项目利用了名为`icepdf`的开源库,其核心组件是`icepdf-core-4.3.3.jar`,这是一个强大的PDF阅读和渲染库。`icepdf`允许开发者在Java应用中处理PDF文档,包括显示、打印和转换PDF内容。 首先,我们需要了解`...

    java实现图片转pdf文件

    在Java编程环境中,将图片转换为PDF文件是一个常见的需求,特别是在文档管理和电子出版领域。这里,我们将探讨如何使用Java和特定库,如iText,来完成这个任务。iText是一个强大的开源库,专门用于创建和修改PDF文档...

    分享6个国内优秀Java后台管理框架的开源项目,建议收藏!.pdf

    【标题】:分享6个国内优秀Java后台管理框架的开源项目 【描述】:本文将介绍六个在中国备受推崇的Java后台管理框架的开源项目,这些框架不仅高效且实用,是开发人员快速构建后台管理系统的理想选择。 【标签】:...

    java PDF转图片

    总之,Java中的PDF转图片功能主要依赖于特定的库,如IcePDF,通过解析PDF内容并将其渲染为图像,从而实现多页PDF转多张图片的效果。在实际应用中,根据具体需求调整代码和参数,可以实现更高效、高质量的转换效果。

    pdf转图片的几种实现

    如果你需要在项目中集成PDF转图片的功能,可以使用编程语言的库,如Python的PyPDF2和PIL,或者Node.js的pdf2image。在Python中,你可以先用PyPDF2读取PDF,然后用PIL将每一页渲染成图片: ```python from PyPDF2...

    java Pdf转换图片

    总结来说,Java中使用PDFBox库可以方便地实现PDF转图片的功能,并且可以进行缩放和多页合成的操作。在实际应用中,根据具体需求,可能还需要考虑其他因素,如图片质量、内存管理以及并发处理大量PDF时的性能优化等。

    Java中PDF转图片

    本文将深入探讨如何使用Java库来实现这个功能,以标题“Java中PDF转图片”和描述“Java中PDF转图片”为线索,结合标签“PDF转图片”,我们将详细讲解一种常用的库——IcePDF。 IcePDF是一个开源的Java PDF库,它...

    java实现office、wps转pdf,pdf转word

    PDFBox是Apache的一个开源项目,用于处理PDF文档,同样支持生成和操作PDF。这些库可以读取Office或WPS文件的内容,并将其转换为PDF格式。 转换PDF到Word则更为复杂,因为PDF是一种静态格式,而Word文档通常包含更多...

    java用poi转ppt为图片和用pdfbox转pdf为图片的demo

    "java用pdfbox转pdf为图片"的过程与POI类似,但涉及到的是PDF文档。PDFBox提供了丰富的API来读取和操作PDF文件。 1. 引入PDFBox库:在项目中引入`pdfbox`, `fontbox`和`pdfbox-tools`等相关依赖。 2. 打开PDF文件...

    Pdf转图片ghost4j

    总结来说,使用Ghost4J和Ghostscript进行PDF转图片的流程包括安装和配置Ghostscript,导入Ghost4J库,设置转换参数,读取PDF,执行转换并保存图片。这个过程虽然涉及多个步骤,但通过Java编程可以方便地实现自动化,...

    Java中Excel转图片工具包(纯java)

    "Java中Excel转图片工具包(纯java)"就是这样一个解决方案,它实现了将Excel文件通过PDF中间格式转化为图片的功能。 首先,让我们了解一下这个工具包的工作原理。Excel文件本身并不直接支持转换为图片格式,但可以...

    java版PDF转图片

    接下来,我们将编写Java代码实现PDF转图片的功能。以下是一个基本示例: ```java import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox....

    PDFbox IcePdf pdf转图片

    PDFbox和IcePdf是两个在Java环境中处理PDF文档的开源库。它们提供了丰富的API和功能,使得开发者可以方便地对PDF进行操作,如读取、创建、编辑以及将PDF转换为其他格式,如图片。本篇文章将深入探讨这两个库如何实现...

    利用ITEXT、PDFBOX将PDF转为图片

    接下来,PDFBOX是Apache软件基金会的一个开源项目,它提供了一系列API来处理PDF文档。PDFBOX的功能包括创建、编辑、显示PDF文档,以及将PDF转换为其他格式,如图片。在PDF转图片的过程中,PDFBOX扮演了关键角色。 ...

    java开源项目总揽.pdf

    java开源项目总揽.pdf

    JAVA将PDF转OFD 国产化必备

    目前市面上已有多个开源或商业的JAVA库,如PDFBox、iText等,但它们主要针对PDF操作,不直接支持PDF到OFD的转换。因此,我们可能需要寻找支持OFD的第三方库,例如“元盛科技”的OFD SDK,它可以提供JAVA API来处理...

    pdf转图片输出(3种方式)附带jar包等

    PDFBox是Apache软件基金会的一个开源项目,提供了处理PDF文档的API。要将PDF转换为图片,首先需要添加PDFBox的jar包到项目类路径。PDFBox提供了`PDDocument`类,通过它的`renderImageWithDPI`方法可以将PDF页面渲染...

Global site tag (gtag.js) - Google Analytics