- 浏览: 138764 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
zheng_zhimeng:
这个版本在linux的版本下有问题,亲们用的没有问题么
文档展示:IcePDF 将PDF转换为图片 -
yuming.xiao:
转换的某些图片,有些模糊。不知道楼主遇到这个问题没有
文档展示:IcePDF 将PDF转换为图片 -
zenghongqing:
您好,请教您一个问题://cell内容字符串总宽度 doub ...
Java POI Excel 行高自适应 -
xiang37:
http://xiva.iteye.com/blog/2066 ...
视频分割项目预研 -
I白I:
怎么还配置数据库了?
视频分割项目预研
上接 文档展示:PDFRender 将PDF转换为图片
http://zhuyufufu.iteye.com/admin/blogs/2012236
PDFBox 与 PDFRender在转换时有清晰度与效率的问题,
PDFBox转换效果稍好,PDFRender更快,但是多线程操作不能大幅提高转换效率。
搜索这下找到IcePDF 他是开源的,但是字体支持要收费。
拿IcePDF自带的例子展示,上代码:
代码用到了JDK的线程池,也用到了任务callable,算是涨涨见识了
在转换的效果上比PDFRender略好,与PDFBox差不远;在转换的效率上,比PDFBox好很多,比PDFRender略差。
资料包是从一位Iteye用户那里下的,但是记不住他的链接了。
IcePdf官网 http://www.icesoft.org/java/home.jsf
http://zhuyufufu.iteye.com/admin/blogs/2012236
PDFBox 与 PDFRender在转换时有清晰度与效率的问题,
PDFBox转换效果稍好,PDFRender更快,但是多线程操作不能大幅提高转换效率。
搜索这下找到IcePDF 他是开源的,但是字体支持要收费。
拿IcePDF自带的例子展示,上代码:
package com.zas.ice.test; /* * Copyright 2006-2013 ICEsoft Technologies Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the * License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS * IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language * governing permissions and limitations under the License. */ import org.icepdf.core.exceptions.PDFException; import org.icepdf.core.exceptions.PDFSecurityException; import org.icepdf.core.pobjects.Document; import org.icepdf.core.pobjects.PDimension; import org.icepdf.core.pobjects.Page; import org.icepdf.core.util.GraphicsRenderingHints; import org.icepdf.ri.util.FontPropertiesManager; import org.icepdf.ri.util.PropertiesManager; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.ResourceBundle; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * The <code>PageCapture</code> class is an example of how to save page * captures to disk. A file specified at the command line is opened and every * page in the document is captured as an image and saved to disk as a * PNG graphic file. * * @since 5.0 */ public class PageCapture { static String outputFilePath = "D:\\pdf\\Linux命令行技术大全222222\\"; public static void main(String[] args) { // Get a file from the command line to open String filePath = "D:\\pdf\\面向对象软件构造(第二版)中英对照版.pdf"; // read/store the font cache. ResourceBundle messageBundle = ResourceBundle.getBundle( PropertiesManager.DEFAULT_MESSAGE_BUNDLE); PropertiesManager properties = new PropertiesManager(System.getProperties(), ResourceBundle.getBundle(PropertiesManager.DEFAULT_MESSAGE_BUNDLE)); new FontPropertiesManager(properties, System.getProperties(), messageBundle); // start the capture PageCapture pageCapture = new PageCapture(); pageCapture.capturePages(filePath); } public void capturePages(String filePath) { long beginTime = System.nanoTime(); // open the url Document document = new Document(); // setup two threads to handle image extraction. ExecutorService executorService = Executors.newFixedThreadPool(100); try { document.setFile(filePath); // create a list of callables. int pages = document.getNumberOfPages(); java.util.List<Callable<Void>> callables = new ArrayList<Callable<Void>>(pages); for (int i = 0; i <= pages; i++) { callables.add(new CapturePage(document, i)); } executorService.invokeAll(callables); executorService.submit(new DocumentCloser(document)).get(); } catch (InterruptedException e) { System.out.println("Error parsing PDF document " + e); } catch (ExecutionException e) { System.out.println("Error parsing PDF document " + e); } catch (PDFException ex) { System.out.println("Error parsing PDF document " + ex); } catch (PDFSecurityException ex) { System.out.println("Error encryption not supported " + ex); } catch (FileNotFoundException ex) { System.out.println("Error file not found " + ex); } catch (IOException ex) { System.out.println("Error handling PDF document " + ex); } executorService.shutdown(); long endTime = System.nanoTime(); System.out.println("耗时: " + (endTime - beginTime) / 1000000000 + " 秒" ); } /** * Captures images found in a page parse to file. */ public class CapturePage implements Callable<Void> { private Document document; private int pageNumber; private float scale = 1f; private float rotation = 0f; private CapturePage(Document document, int pageNumber) { this.document = document; this.pageNumber = pageNumber; } public Void call() { Page page = document.getPageTree().getPage(pageNumber); page.init(); PDimension sz = page.getSize(Page.BOUNDARY_CROPBOX, rotation, scale); int pageWidth = (int) sz.getWidth(); int pageHeight = (int) sz.getHeight(); BufferedImage image = new BufferedImage(pageWidth, pageHeight, BufferedImage.TYPE_INT_RGB); Graphics g = image.createGraphics(); page.paint(g, GraphicsRenderingHints.PRINT, Page.BOUNDARY_CROPBOX, rotation, scale); g.dispose(); // capture the page image to file try { System.out.println("Capturing page " + pageNumber); File file = new File(outputFilePath + "imageCapture_" + pageNumber + ".png"); ImageIO.write(image, "png", file); } catch (Throwable e) { e.printStackTrace(); } image.flush(); return null; } } /** * Disposes the document. */ public class DocumentCloser implements Callable<Void> { private Document document; private DocumentCloser(Document document) { this.document = document; } public Void call() { if (document != null) { document.dispose(); System.out.println("Document disposed"); } return null; } } }
代码用到了JDK的线程池,也用到了任务callable,算是涨涨见识了
在转换的效果上比PDFRender略好,与PDFBox差不远;在转换的效率上,比PDFBox好很多,比PDFRender略差。
资料包是从一位Iteye用户那里下的,但是记不住他的链接了。
IcePdf官网 http://www.icesoft.org/java/home.jsf
- ICEpdf-5.0.1-bin.zip (2.5 MB)
- 下载次数: 67
评论
2 楼
zheng_zhimeng
2015-05-29
这个版本在linux的版本下有问题,亲们用的没有问题么
1 楼
yuming.xiao
2015-05-15
转换的某些图片,有些模糊。不知道楼主遇到这个问题没有
发表评论
-
oracle按照某一字段里的数字排序
2014-10-21 19:59 1088select * from LSK_SBCAJ t ord ... -
JS onkeydown onenter
2014-10-20 16:53 1003html中 onenter不是一个标准的事件。 js 中仿o ... -
Java数组删除指定元素
2014-09-18 11:30 2252package com.zas.util; impo ... -
sql 去重
2014-09-18 10:43 637delete from table t1 where t1.i ... -
linux 干掉所有java进程
2014-08-07 12:31 1031ps -ef|grep java|grep -v grep|c ... -
Oracle自带连接池使用(转载收录)
2014-07-31 10:01 1410最近在搞数据迁移:从sql server 迁数据到oracle ... -
html dom jsoup httpclient
2014-07-10 21:45 1113xml dom 对大多数java程序员来说并不陌生,但是htm ... -
Oracle 清库脚本
2014-07-08 22:40 1314清库脚本一份 表dossier_group 的字段Dossi ... -
Java 对象存储到oracle Blob字段
2014-07-08 14:52 1100Java 数据对象在没有持久存储到业务表时,可能需要临时存 ... -
Java 科学计数法数字转字符串
2014-07-08 14:30 1509科学计数法数字转字符串,记录代码,留后使用 double ... -
突破tomcat jsp编译65535行的限制
2014-07-04 17:16 4791使用tomcat时有可能会遇到其对jsp编译行数的限制, ... -
oracle 函数中游标及递归的应用
2014-06-19 17:13 1420在代码中使用递归可能大部分程序员都不陌生,但是在存储过程或 ... -
视频操作类
2014-06-19 17:04 1135接 视频分割项目预研 http://zhuyufufu.i ... -
视频分割项目预研
2014-06-11 16:12 2271由于工作需要,研究下视频切割。 现在的情况:视频切割是重中之 ... -
Java POI Excel 行高自适应
2014-03-28 14:08 15882在Excel处理的过程中,可能有需要用到行高自适应的时候。 ... -
Java POI Excel sheet 合并遇到的问题解决2
2014-03-25 18:03 3247上接 Java POI Excel sheet 合并 http ... -
文档展示:使用iText转换各种图片为PDF
2014-03-23 12:38 2906如题: 下面这段代码可以处理各种格式的图片,代码的出处忘记了 ... -
Java 进程执行外部程序,造成外部程序阻塞的一种原因
2014-03-23 12:06 1466前一阵子在研究文档展示时使用了java进程直接调用外部程序 ... -
Java POI Excel sheet 合并遇到的问题解决
2014-03-23 11:30 5123上接 Java POI Excel sheet http:// ... -
Java POI Excel sheet合并
2014-03-19 10:59 6628由于工作上的需要,特地研究了下Excel合并的问题,现贴出来, ...
相关推荐
这个文件通常会包含一个示例程序,展示如何使用IcePdf将PDF转换为图片。以下是一个基本的转换流程: 1. **初始化PDFViewerComponent**:这是IcePdf提供的一个组件,用于渲染PDF页面。创建一个`PDFDocumentWrapper`...
在提供的jar包中,`PdfToImage`可能是一个示例程序,演示了如何使用PDFbox或IcePdf将PDF转换为图片。通过运行这个程序并根据需要调整代码,你可以轻松地将多页PDF转换为一系列的图片文件。 总结来说,PDFbox和...
描述中提到icepdf能够很好地将PDF转换为单个或多个TIFF图片,并且还支持转换为JPEG格式。这暗示了icepdf库提供了高级的图像处理功能,可以处理PDF中的内嵌字体,确保转换后的图像能准确地呈现原文档的内容。对于那些...
【icepdf pdf 转图片 demo】是一个演示项目,展示了如何使用icepdf库将PDF文档转换为图像。icepdf是一个开源的Java库,专门用于处理PDF文档,包括阅读、渲染和编辑。在这个demo中,开发者提供了基本的代码框架,帮助...
将PDF转换为图片的过程主要涉及以下步骤: 1. **初始化**: 首先,你需要导入所需的Icepdf库,并创建一个PDFDocument对象,用以加载你要转换的PDF文件。 2. **渲染**: 使用PDFPageRenderContext,将PDF页面渲染到...
`icepdf`是一个开源的Java库,它允许开发者在Java应用程序中查看和处理PDF文档,包括将PDF转换为图片。下面我们将详细讨论`icepdf`的相关知识点。 首先,`icepdf-core`是`icepdf`的核心模块,提供了PDF解析和渲染的...
3. **PDF转换**:利用icepdf,可以将PDF文档转换为JPEG、PNG等图片格式,便于在网络上传输或在不支持PDF的设备上查看。 4. **去水印**:icepdf虽然原生功能不直接支持去除水印,但通过自定义渲染逻辑,可以实现对PDF...
然而,在某些情况下,我们可能需要将PDF转换为图片,以便于在线分享、嵌入网页或者进行其他图像处理。本项目“icepdf-example.zip_W55_icepdf_icepdf pdf转图片_javaPDF转图片”就是针对这种需求提供的一种解决方案...
在Java中使用ICEpdf将PDF转换为图片,主要涉及以下几个关键知识点: 1. **ICEpdf库的安装与集成**:首先,你需要下载ICEpdf的库文件,通常是一个包含JAR文件的压缩包,例如`myICEPdf.jar`。将这些JAR文件添加到项目...
然而,在处理PDF时,我们有时需要将PDF转换为图片,以便于在网络上传输或者在不支持PDF阅读的应用场景中使用。同时,对于包含中文字符的PDF,乱码问题也常常困扰着用户。针对这些问题,本文将详细介绍如何使用icepdf...
这个压缩包文件"pdf转图片jar"很可能是包含了icepdf库的相关组件,使得开发者能够通过编程的方式将PDF文档转换为图片格式。 ICEpdf的核心功能包括: 1. **PDF解析**:ICEpdf能够解析PDF文档的结构,读取文本、图像...
PDF转换图片,特别是将多页PDF转换为多张单独的图片,是常见的文件处理需求,尤其是在数据可视化、文档共享和网络发布等领域。Java作为一种广泛使用的编程语言,提供了丰富的库来处理这种任务。在这个场景中,我们...
4. **PDF转换**:正如标题所述,ICEpdf可以将PDF文档转换为图片,这对于需要将PDF内容集成到其他非PDF格式的应用场景非常实用,比如生成预览图或者进行数据抓取。 5. **字体支持**:"带字库"表明此版本可能包含了...
3. **PDF转换为图像**:一个独特且实用的功能是,ICEpdf能够将PDF文档转换为一系列的图像文件,如JPEG、PNG等。这在需要离线查看PDF或者在不支持PDF的设备上展示文档时特别有用。 4. **无水印处理**:标题中提到的...
4. **PDF解析与渲染**:ICEpdf能解析PDF文件结构,并将内容转换为高质量的图像,用于在屏幕上显示或打印。 5. **PDF安全性**:ICEpdf可以处理加密的PDF文档,支持用户密码验证和权限管理,确保文档的安全性。 6. *...
`icepdf-viewer.jar`则是icepdf的用户界面组件,提供了用于展示PDF文档的Swing和JavaFX视图组件。它允许开发者在Java应用程序中集成一个PDF查看器,具有以下特性: 1. **GUI组件**:icepdf-viewer提供了JViewer和...
Java使用icepdf将pdf文件按页转成图片是指使用Java语言通过icepdf库将pdf文件转换为图片的过程。下面将详细介绍该过程中的知识点。 首先,需要了解icepdf库的基本概念。icepdf是一个Java库,用于处理和操作pdf文件...
总的来说,`icepdf-core`和`icepdf-viewer`提供了一种方便的方式来在Java环境中处理PDF,包括将其转换为JPG图像。这个过程涉及到PDF文档的读取、页面渲染以及图像保存等多个环节,通过理解这些步骤,你可以更好地...
在“转换PDF”方面,ICEpdf提供了API来实现PDF文档到其他格式的转化,例如将PDF页面转换为图像。这在某些场景下非常有用,比如网页预览、数据备份或者将PDF内容集成到其他非PDF格式的应用中。开发者可以通过调用...
1. **PDF渲染**:ICEPdf能够将PDF文档的页面转换为高质量的图像,以便在Java Swing或JavaFX的应用程序中显示。它使用了高效的渲染引擎,确保文档的视觉效果与原版PDF保持一致。 2. **文本选择和搜索**:用户可以...