-
Java Web编程:如何将PDF文件转成图片并显示在页面指定位置上5
将PDF文件转成图片并显示在页面指定位置上。
在网上找了很多资料,都找不到我要的……
一般的都只是将PDF转成图片的,不知道要怎么显示。
有如下代码,作用是转成图片后删除该PDF文件:
/**
* 将pdf转成img
*/
public static void changePdfToImg() {
try {
File file = new File("E:\\test\\baseInfo_2.pdf");
RandomAccessFile raf = new RandomAccessFile(file, "r");
FileChannel channel = raf.getChannel();
MappedByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
PDFFile pdffile = new PDFFile(buf);
for (int i = 1; i <= pdffile.getNumPages(); i++) {
PDFPage page = pdffile.getPage(i);
Rectangle rect = new Rectangle(0, 0, ((int) page.getBBox().getWidth()), ((int) page.getBBox().getHeight()));
Image img = page.getImage(rect.width, rect.height, rect,
null, // null for the ImageObserver
true, // fill background with white
true // block until drawing is done
);
BufferedImage tag = new BufferedImage(rect.width, rect.height, BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(img, 0, 0, rect.width, rect.height, null);
FileOutputStream out = new FileOutputStream("E:\\test\\img\\" + i + ".jpg"); // 输出到文件流
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param2 = encoder.getDefaultJPEGEncodeParam(tag);
param2.setQuality(1f, false);// 1f是提高生成的图片质量
encoder.setJPEGEncodeParam(param2);
encoder.encode(tag); // JPEG编码
out.close();
}
channel.close();
raf.close();
unmap(buf);//如果要在转图片之后删除pdf,就必须要这个关闭流和清空缓冲的方法
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 清空缓冲
* @param buffer
*/
public static void unmap(final Object buffer) {
AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
try {
Method getCleanerMethod = buffer.getClass().getMethod("cleaner", new Class[0]);
getCleanerMethod.setAccessible(true);
sun.misc.Cleaner cleaner = (sun.misc.Cleaner) getCleanerMethod.invoke(buffer, new Object[0]);
cleaner.clean();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
});
}
而我不需要删除。
但是这种方法应该效率不高吧。
到底要如何将PDF文件转成图片并显示在页面指定位置上?2014年3月04日 16:08
目前还没有答案
相关推荐
在Java编程环境中,将多页PDF转换为一张长图图片是一项常见的需求,特别是在文档处理、报表可视化或在线阅读场景中。本项目利用了名为`icepdf`的开源库,其核心组件是`icepdf-core-4.3.3.jar`,这是一个强大的PDF...
本篇文章将探讨如何使用Java Servlet实现在浏览器中打开PDF文件。首先,我们需要理解Servlet的工作原理和PDF文件的处理方式。 Servlet是Java编程语言中的一个接口,它定义了Web服务器与Java代码之间的交互方式。当...
在这个项目中,主函数接收PDF文件路径作为参数,执行上述步骤,并在指定目录下生成Word文件。 7. **Web环境集成**:为了在Web项目中使用这个功能,你需要将转换逻辑封装到一个服务或控制器中,通过HTTP请求接收PDF...
在处理文档预览方面,Java Web可以实现Word和PDF文件的在线预览,极大地提升了用户体验,使得用户无需下载文件即可查看内容。本项目提供了一套完整的Java Web源码,用于在线预览Word和PDF文件,下面将详细讲解相关...
Java读取PDF并显示在浏览器是一项常见的技术需求,特别是在Web应用中,用户可能需要预览或下载PDF文档。为了实现这一功能,我们需要了解几个关键知识点: 1. **PDF阅读器集成**:描述中提到的前提是本地电脑需要...
在Java编程环境中,读取和显示PDF文件是一个常见的需求,特别是在开发桌面应用或者Web应用时。这个场景中,我们可以通过一些开源库来实现这一功能。标题"java读取显示pdf"提示我们需要关注Java如何处理PDF文件,而...
《JAVA网络编程大全》是一本全面且深入介绍Java网络编程技术的权威著作,旨在帮助读者掌握Java在构建网络应用程序中的核心概念和实践技巧。PDF版的书籍为学习者提供了便捷的电子阅读体验,随时随地都能深化对Java...
用户上传PDF文件后,服务会自动将其转换成HTML,然后在前端展示,提供更便捷的浏览体验。同时,由于这个转换服务表现正常,我们可以推断它在处理常见的PDF格式和内容时能保持良好的稳定性和效率。 在项目中,"pdf转...
要在其他项目中使用这个JAR包,只需将其添加到项目的类路径中,然后通过`java -cp`命令行选项指定JAR包的位置,调用对应的类和方法。例如,文中提到的`WordCompare.compareWord()`方法可以直接在其他Java程序中调...
本篇文章将详细探讨如何在Java环境中将一个网页URL转换为PDF文件。 首先,我们可以利用开源库如Jsoup或Apache HttpClient来获取网页的HTML内容。Jsoup是一个用于处理实际世界HTML的Java库,它允许我们解析、操作、...
根据提供的文件信息,内容主要围绕Java Web编程实战宝典一书的推广和分享,其中也涉及到电子书资源提供者的联系方式以及PDF电子书的版权声明等。关于Java Web编程的知识点,我将基于标题和描述,对Java Web编程的...
Java编程语言是面向对象的、跨平台的编程语言,由Sun Microsystems公司于1995年推出,目前广泛应用于各种领域,如Web开发、移动应用、企业级应用、大数据处理等。"Java编程200例(附:JAVA文档完全解读中文版)"是一...
在Java编程环境中,生成PDF文件是一项常见的需求,特别是在报表、文档或者发票的自动化处理中。本Demo主要展示了如何通过生成HTML然后将其转换为PDF的方式来实现这一功能。下面将详细讲解这个过程涉及的关键知识点。...
Java Web编程宝典-十年典藏版.pdf 是PDF电子书,不是源码。共分2个包。 《Java Web编程宝典(十年典藏版)》是一本集技能、范例、项目和应用为一体的学习手册,书中介绍了应用Java Web进行程序开发的各种技术、技巧。...
《Java网络编程第三版》是Java开发者深入理解网络编程的重要参考资料。这本书主要涵盖了Java平台上的网络应用程序开发,从基础概念到高级技术,为读者提供了一套全面的学习路径。以下是本书中涉及的一些关键知识点:...
在Java编程入门过程中,了解和掌握Java Web开发环境的搭建至关重要。本教程主要针对初学者,旨在引导学习者逐步构建一个有效的开发环境。首先,我们关注CSS样式表的基础知识,这是网页设计中用于控制页面外观和布局...
7. **PDF文档操作**:除了创建,OpenPDF还能读取和修改已存在的PDF文件,比如添加、删除、移动页面,或者合并多个PDF文件。 8. **事件处理**:开发者可以通过注册监听器来处理PDF生成过程中的各种事件,如页眉页脚...
6. **数据序列化**:Java提供了序列化机制,用于将对象转化为字节流并存储或在网络上传输。读者将了解如何实现Serializable接口,以及反序列化的过程。 7. **多线程与并发**:在处理大量数据时,多线程和并发是提升...
- 转换完成后,将生成的PDF文件发送到Web服务器的指定目录,供前端下载或在线预览。 3. **Web在线预览** - 对于HTML化的Office文档,可以直接返回HTML内容,前端使用IFrame或者JavaScript库(如`react-doc-viewer...
### Java Web 文件的上传与下载 #### 12.1 文件上传原理 文件上传是许多Web应用程序中的常见功能。从用户界面来看,文件上传过程似乎很简单:用户选择一个或多个文件,然后通过表单提交到服务器。然而,在后台,这...