java pdf 首页 缩略图_Java中将上传的文件首页生成缩略图(先将上传的文件转成pdf,然后将pdf转成jpg)...

1、首先将上传的非jpg,pdf格式的文件转成pdf,这个是采用OpenOffice进行转的,具体代码如下:

private void officeToPdf(){

OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

try {

connection.connect();

} catch (ConnectException e) {

e.printStackTrace();

}

DocumentConverter converter = new OpenOfficeDocumentConverter(

connection);

converter.convert(officeFile, pdfFile);

// close the connection

connection.disconnect();

}

2、然后将pdf首页转为jpg,具体代码如下:

private  void pdfToJPG(String inputFile) throws IOException { // load a pdf from a byte buffer File file = new File(inputFile); 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); for (int i = 1; i <= pdffile.getNumPages(); i++) { if (i == 1) { // draw the first page to an image // 以图片的形式来描绘首页 PDFPage page = pdffile.getPage(i); // 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 ); 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( imagePath+"\\"+fileName.substring(fileName.lastIndexOf("/")+1) + ".jpg"); // 输出到文件流 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(tag); // JPEG编码 // 关闭输出流 out.close(); System.out.println("PDF文件转换JPG文件成功"); } }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.2 如何在visual studio 中建立C#程序

这一节简单介绍一下怎么在visual studio 2015中建立第一个C#程序&#xff0c;我使用的是2015版的visual studio&#xff0c;不同版本可能有一些差异&#xff0c;不过大体上是相同的&#xff0c;这些信息仅供新手参考&#xff0c;大牛请自动跳过。 首先双击visual studio 2015的…

javascript在html中的延迟与异步

1.相同点&#xff1a;延迟与异步都会同时加载script 2.不同点&#xff1a;延迟是script加载完成后&#xff0c;待HTML执行完毕后&#xff0c;才会接着执行script&#xff1b; 异步是script加载完成后&#xff0c;接着就执行该程序&#xff0c;HTML等到script完全执行完毕后&…

三星全速进军物联网 所有产品都将内置互联功能

韩媒报道&#xff0c;近日消息传出&#xff0c;三星电子的家电部门&#xff0c;当前生产的产品都将内建Wi-Fi。相关高层表示&#xff0c;此种做法可替更先进的功能预作准备&#xff0c;因为家电寿命较长&#xff0c;至少可用五年。目前为止&#xff0c;三星家电只有部分具备Wi-…

2d手机游戏开发_我的手机游戏如何在2周内获得365K应用商店下载(以及为什么我退出独立游戏开发公司…...

2d手机游戏开发by William Kwan关冠伟 我的手机游戏如何在2周内获得365K应用商店下载(以及为什么以后我退出独立游戏开发者) (How My Mobile Game Got 365K App Store Downloads in 2 Weeks (And Why I Quit Indie Game Dev Afterwards)) I’m not a successful game develope…

Python ValueError: IO operation on closed file

ValueError IO operation on closed file表示处理了已经被关闭的数据&#xff0c;在python 中 with语句的上下文会帮助处理&#xff0c;也就是说&#xff0c;当python的处理代码不对齐的时候会出现这种情况。例子如下&#xff1a; header那一行&#xff0c;突出&#xff0c;也就…

java面向字符的输入流_详细解读Java编程中面向字符的输入流

字符流是针对字符数据的特点进行过优化的&#xff0c;因而提供一些面向字符的有用特性&#xff0c;字符流的源或目标通常是文本文件。 Reader和Writer是java.io包中所有字符流的父类。由于它们都是抽象类&#xff0c;所以应使用它们的子类来创建实体对象&#xff0c;利用对象来…

任务信号量

在实际任务间的通信中&#xff0c;一个或多个任务发送一个信号量或者消息给另一个任务是比常见的&#xff0c;而一个任务给多个任务发送信号量和消息相对比较少。前面所讲的信号量和消息队列均是单独的内核对象&#xff0c;是独立于任务存在的。这两章要讲述的任务信号量和任务…

域名服务商GoDaddy第四季度扭亏为盈

2月18日消息&#xff0c;据财经网站MarketWatch报道&#xff0c;域名服务提供商GoDaddy周三公布了第四季度财报。公司期内利润与营收均好于预期&#xff0c;给出的营收指导亦符合预测水平。 财报显示&#xff0c;第四季度中GoDaddy营收同比增长14%&#xff0c;为4.254亿美元&am…

易于使用的人工智能_需求分析:如何使用这种易于启动的方法+一个案例研究...

易于使用的人工智能by Turgay elik由Turgayelik 需求分析&#xff1a;如何使用这种易于启动的方法一个案例研究 (Requirement Analysis: how to use this startup-friendly approach a case study) In our previous blog posts, we explained why we decided to develop the …

java writeboolean_Java DataOutputStream writeBoolean()方法(带示例)

DataOutputStream类writeBoolean()方法writeBoolean()方法在java.io包中可用。writeBoolean()方法用于将给定的布尔字节写入基本输出流&#xff0c;因此成功执行后写入的变量计数器为1。writeBoolean()方法是一种非静态方法&#xff0c;只能通过类对象访问&#xff0c;如果尝试…

【BZOJ4300】—绝世好题(二进制dp)

传送门 考虑到只需要bi&amp;bi−1̸0b_i\&amp;b_{i-1} \not0bi​&bi−1​̸​0 由于&amp;\&amp;&&#xff0c;我们考虑二进制下只需要一位不为0就可以了f[i]f[i]f[i]表示当前数下&#xff0c;第iii位不为0的最优长度 那就是需要枚举当前这个数所有位就…

爱立信与中国联通成功完成国内首个LTE三载波聚合大规模部署测试

近日&#xff0c;爱立信与中国联通网络技术研究院、联通四川省公司、联通成都市分公司、Qualcomm Incorporated子公司Qualcomm Technologies, Inc.合作成功实现了国内首个三载波聚合大规模部署和运行测试&#xff0c;下行单用户峰值速率达到375Mbps。该项目充分验证了载波聚合大…

七牛服务器入门教程_教程:使用无服务器,StepFunction和StackStorm构建社区的入门应用程序…...

七牛服务器入门教程by Dmitri Zimine由Dmitri Zimine 使用无服务器&#xff0c;StepFunction和StackStorm Exchange构建社区注册应用 (Building a community sign-up app with Serverless, StepFunctions, and StackStorm Exchange) Build a real-world serverless applicatio…

devexpress java_DevExpress使用心得一:换肤

最近要用到界面控件DevExpress。一句话&#xff1a;很好很强大&#xff0c;比起VS自带的winform界面&#xff0c;种类和花样要多了不少。然而&#xff0c;强力的功能带来了庞大的信息量&#xff0c;所以我打算通过一些小模块来和大家一起对它进行探讨和研究。今天先研究一下它的…

《低功耗蓝牙开发权威指南》——第3章低功耗蓝牙的体系结构

本节书摘来自华章社区《低功耗蓝牙开发权威指南》一书中的第3章低功耗蓝牙的体系结构&#xff0c;作者 &#xff08;英&#xff09;Robin Heydon&#xff0c;更多章节内容可以访问云栖社区“华章社区”公众号查看 第3章低功耗蓝牙的体系结构专注简单是我一直以来信奉的价值观。…

[福建集训2011][LOJ10111]相框

这题主要还是分类讨论欧拉回路 首先对于导线一端没有东西的新建一个节点 由于原图不一定连通所以需要用到并查集判断有多少个连通块 将一条导线连接的两个焊点连接 然后先对于只有一个连通块考虑 1.如果一个焊点是孤立点 它对于导线无影响跳过 2.如果一个焊点度数大于2 它必须被…

TJpgDec—轻量级JPEG解码器

TJpgDec—轻量级JPEG解码器 本文由乌合之众lym瞎编&#xff0c;欢迎转载blog.cnblogs.net/oloroso 下文中解码一词皆由decompression/decompress翻译而来。 TJpgDec是一个为小型嵌入式系统高度优化的创建JPEG图像的解码模块。它工作时占用的内存非常低&#xff0c;以便它可以集…

帮助中心 开源_对开源的贡献帮助我获得了Microsoft的实习机会。 这就是它可以为您提供帮助的方式。

帮助中心 开源“Accomplished X by implementing Y which led to Z.” “通过实现导致Z的Y来完成X。” When I interviewed for software engineering internships this past fall, my open source contributions helped me stand out from the crowd.去年秋天&#xff0c;当我…

java 操作窗口_java selenium (十二) 操作弹出窗口

public static void testMultipleWindowsTitle(WebDriver driver) throws Exception{String url"E:\\StashFolder\\huoli_28hotmail.com\\Stash\\Tank-MoneyProject\\Selenium Webdriver\\AllUIElement.html";driver.get(url);// 获取当前窗口的句柄String parentWin…

1970“变种”bug连WiFi热点iOS设备会变砖?

据悉&#xff0c;该漏洞和此前“1970”的bug有关系&#xff0c;但不完全一样。 威锋网讯&#xff0c;你还记得将 iOS 设备系统时间调至 1970.1.1 会让设备变砖的 bug 么&#xff1f;尽管苹果在 iOS 9.3 中已经将这个 bug 修复&#xff0c;但据安全研究员指出&#xff0c;他们发…