java实现PDF转图片的方法

本文实例为大家分享了java实现PDF转图片的具体代码,供大家参考,具体内容如下

1.首先利用maven引入所需jar包

<dependency>
  <groupId>org.apache.pdfbox</groupId>
  <artifactId>fontbox</artifactId>
  <version>2.0.1</version>
</dependency>
<dependency>
  <groupId>org.apache.pdfbox</groupId>
  <artifactId>pdfbox</artifactId>
  <version>2.0.1</version>
</dependency>

2.这是本人自己写的一个工具类,有两个方法,一个是获取PDF总页码,一个是通过传过来的page把对应的pdf转成指定格式的图片,并通过流的方式响应给客户端

public class PDFToImgUtil {

 private static Logger logger = LoggerFactory.getLogger(PDFToImgUtil.class);

 /**
 * 获取PDF总页数
 * @throws IOException
 */
 public static int getPDFNum(String fileUrl) throws IOException {
 PDDocument pdDocument = null;
 int pages = 0;
 try {
  pdDocument = getPDDocument(fileUrl);
  pages = pdDocument.getNumberOfPages();
 } catch (Exception e) {
  e.printStackTrace();
   logger.error(e.getMessage(),e);
 } finally {
  if (pdDocument != null) {
  pdDocument.close();
  }
 }
 return pages;
 }

 /**
 * PDF转图片 根据页码一页一页转
 * @throws IOException
 * imgType:转换后的图片类型 jpg,png
 */
 public static void PDFToImg(OutputStream sos,String fileUrl,int page,String imgType) throws IOException {
 PDDocument pdDocument = null;
 /* dpi越大转换后越清晰,相对转换速度越慢 */
 int dpi = 100;
 try {
  pdDocument = getPDDocument(fileUrl);
  PDFRenderer renderer = new PDFRenderer(pdDocument);
  int pages = pdDocument.getNumberOfPages();
  if (page <= pages && page > 0) {
  BufferedImage image = renderer.renderImageWithDPI(page,dpi);
  ImageIO.write(image, imgType, sos);
  }
 } catch (Exception e) {
  e.printStackTrace();
   logger.error(e.getMessage(),e);
 } finally {
  if (pdDocument != null) {
  pdDocument.close();
  }
 }

 }

 private static PDDocument getPDDocument(String fileUrl) throws IOException {
 File file = new File(fileUrl);
 FileInputStream inputStream = new FileInputStream(file);
   return PDDocument.load(inputStream);
 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java实现在pdf模板的指定位置插入图片

    本文实例为大家分享了java在pdf模板的指定位置插入图片的具体代码,供大家参考,具体内容如下 java操作pdf有个非常好用的库itextpdf,maven: <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.6</version> </dependency> <!--

  • 如何实用Java实现合并、拆分PDF文档

    前言 处理PDF文档时,我们可以通过合并的方式,来任意组几个不同的PDF文件或者通过拆分将一个文件分解成多个子文件,这样的好处是对文档的存储.管理很方便.下面将通过Java程序代码介绍具体的PDF合并.拆分的方法. 工具:Free Spire.PDF for Java 2.0.0 (免费版) 注:2.0.0版本的比之前的1.1.0版本在功能上做了很大提升,支持所有收费版的功能,只是在文档页数上有一定限制,要求不超过10页,但是对于常规的不是很大的文件,这个类库就非常实用. jar文件导入: 方法

  • 通过Java实现对PDF页面的详细设置

    前言 下面的示例将介绍通过Java编程来对PDF页面进行个性化设置的方法,包括设置页面大小.页边距.纸张方向.页面旋转等.这里有如下多种页面大小尺寸可供选择: 同时,设置文档内容旋转时,可支持如下角度进行内容旋转: 使用工具:Free Spire.PDF of Java 2.2.2(免费版) 方法1:通过官网下载并引用jar,如下步骤: 步骤1:在Java程序中新建一个文件夹可命名为Lib.并将产品包中的jar文件(如下图)复制到新建的文件 夹下. 步骤2:复制文件后,添加到引用类库:选中这个j

  • Java在PDF中添加表格过程详解

    前言 本文将介绍通过Java编程在PDF文档中添加表格的方法.添加表格时,可设置表格边框.单元格对齐方式.单元格背景色.单元格合并.插入图片.设置行高.列宽.字体.字号等. 使用工具:Free Spire.PDF for Java (免费版) Jar文件获取及导入: 方法1:通过官网下载jar文件包.下载后,解压文件,将lib文件夹下的Spire.Pdf.jar文件导入Java程序. 方法2:通过maven仓库安装导入. Java 代码示例 Java代码 import com.spire.pdf

  • Java如何设置PDF文档背景色详解

    前言 一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化以及保护双眼的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括: 设置纯色背景 设置图片背景 使用工具 Spire.PDF for Java 2.0.3 Jar文件引用: 方法一 步骤 1:在Java程序中新建一个文件夹可命名为Lib.下载安装包后,解压,将解压后的文件夹下的子文件夹lib中的Spire.Pdf.jar和Spire.Common.jar两个文件复制到新建的文件夹下

  • java根据模板动态生成PDF实例

    一.需求说明: 根据业务需要,需要在服务器端生成可动态配置的PDF文档,方便数据可视化查看. 二.解决方案: iText+FreeMarker+JFreeChart生成可动态配置的PDF文档 iText有很强大的PDF处理能力,但是样式和排版不好控制,直接写PDF文档,数据的动态渲染很麻烦. FreeMarker能配置动态的html模板,正好解决了样式.动态渲染和排版问题. JFreeChart有这方便的画图API,能画出简单的折线.柱状和饼图,基本能满足需要. 三.实现功能: 1.能动态配置P

  • java实现PDF转图片的方法

    本文实例为大家分享了java实现PDF转图片的具体代码,供大家参考,具体内容如下 1.首先利用maven引入所需jar包 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>fontbox</artifactId> <version>2.0.1</version> </dependency> <dependency> <g

  • java中pdf转图片的实现方法

    JAVA中实现pdf转图片可以通过第三方提供的架包,这里介绍几种常用的,可以根据自身需求选择使用. 一.icepdf.有收费版和开源版,几种方法里最推荐的.转换的效果比较好,能识别我手头文件中的中文,就是转换后可能字体的关系部分字间距有点宽.因为,字体支持是要收费的,所以转换的图片会带有官方的水印.去水印的方法可以查看另一篇文章:icepdf去水印方法 1.下载icepdf的架包,并导入项目中,这里用到4个,如下: 2.附上代码例子: String filePath = "c:/test.pdf

  • java实现pdf文件截图的方法【附PDFRenderer.jar下载】

    本文实例讲述了java实现pdf文件截图的方法.分享给大家供大家参考,具体如下: 最近做的一个网站中,有个需求是上传pdf文件,显示pdf的封页,点击封页之后进行在线阅读,这里使用的是PDFRender对pdf进行截图. public static boolean createScreenShoot(String source, String target) { File file = new File(source); if (!file.exists()) { System.err.prin

  • 基于Java的MathML转图片的方法(示例代码)

    Maven依赖: <dependency> <groupId>de.rototor.jeuclid</groupId> <artifactId>jeuclid-core</artifactId> <version>3.1.14</version> </dependency> 示例: @Test public void testMathMlToImg() throws IOException { //MathML

  • Java实现pdf转图片案例

    工程加入依赖: <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.15</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artif

  • 使用java为pdf添加书签的方法(pdf书签制作)

    由于我经常下载一些pdf格式的电子书,有的时候一些好书下载下来没有书签,读起来感觉没有整体的感觉,所以决定自己写一个小工具,将特定格式的文本解析成为书签,然后保存到pdf格式中.整体思路是从豆瓣啊.京东啊.当当啊.亚马逊下面的介绍中可以copy出目录信息,拿<HTTP权威指南>为例:目录的结构如: 复制代码 代码如下: 第1章 HTTP 概述 31.1 HTTP--因特网的多媒体信使 41.2 Web 客户端和服务器 41.3 资源 51.3.1 媒体类型 61.3.2 URI 71.3.3

  • JAVA基于PDF box将PDF转为图片的实现方法

    在一项目中用到,本身我是.NET的,团队中有用到JAVA,故此我处理这个功能,记录以下备用. 1.引用:fontbox-2.0.16.jar.pdfbox-app-2.0.16.jar 版本一定要正确,否则代码会有问题. main函数: package kevin.cn; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.Fi

  • Java 读取PDF中的文本和图片的方法

    本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取. 使用工具:Free Spire.PDF for Java(免费版) Jar文件获取导入: 方法1:通过官网下载jar文件包.下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入java程序.导入后如下图: 方法2: 可通过maven仓库安装导入. Java代码示例 import com.spire.pdf.*; import java

  • java使用itext导出PDF文本绝对定位(实现方法)

    jar:itext-4.2.1.jar 在很多公文的落款处都需要绝对定位,所以记录此代码如下: PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf")); PdfContentByte cb = writer.getDirectContent(); BaseFont bf= BaseFont.createFont("STSong-Light", "

  • java实现word文档转pdf并添加水印的方法详解

    本文实例讲述了java实现word文档转pdf并添加水印的方法.分享给大家供大家参考,具体如下: 前段时间,项目需要自动生成word文档,用WordFreeMarker生成word文档后,又要求生成的文档能在浏览器浏览,思来想去,把word文档转成pdf就好了,于是乎研究了一下. 将word文档转化为PDF是项目中常见的需求之一,目前主流的方法可以分为两大类,一类是利用各种Office应用进行转换,譬如Microsoft Office.WPS以及LiberOffice,另一种是利用各种语言提供的

随机推荐