1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 在Java应用程序中将PDF转换为图片和将图片转换为PDF

在Java应用程序中将PDF转换为图片和将图片转换为PDF

时间:2019-07-21 19:06:28

相关推荐

在Java应用程序中将PDF转换为图片和将图片转换为PDF

这篇文章将介绍如何在Java应用程序中将PDF文件转换为图片以及将图片转换为PDF文件。

使用组件:

Free Spire.PDF for JAVA

Free Spire.PDF for JAVA是一款完全免费的PDF Java组件,开发人员可以使用它在Java应用程序中进行创建PDF、读取PDF和保存PDF等操作,并且无需安装Adobe Acrobat。

在使用以下代码前,你需要下载Free Spire.PDF for JAVA包并解压缩,然后从lib文件夹下,导入Spire.Pdf.jar包和mon.jar包到你的Java应用程序中。

PDF转图片

import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import com.spire.pdf.PdfDocument;public class PDFToImage {public static void main(String[] args) throws IOException {//加载PDF文件PdfDocument doc = new PdfDocument();doc.loadFromFile("ToImage.pdf");//保存PDF的每一页到图片BufferedImage image;for (int i = 0; i < doc.getPages().getCount(); i++) {image = doc.saveAsImage(i);File file = new File( String.format("ToImage-img-%d.png", i));ImageIO.write(image, "PNG", file);}doc.close();}}

PDF文件:

生成图片:

图片转PDF

import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;import com.spire.pdf.graphics.PdfImage;public class ImageToPDF {public static void main(String[] args) {//创建PDF文档PdfDocument doc = new PdfDocument();//添加一个页面PdfPageBase page = doc.getPages().add();//加载图片PdfImage image = PdfImage.fromFile("ImageToPDF.png");//绘制图片到PDF并设置其在PDF文件中的位置和大小float widthFitRate = getImgWidth(new File("ImageToPDF.png"))/ page.getActualBounds(true).width;float heightFitRate = getImgHeight(new File("ImageToPDF.png"))/ page.getActualBounds(true).height;float fitRate = Math.max(widthFitRate, heightFitRate);float fitWidth = getImgWidth(new File("ImageToPDF.png")) / fitRate*0.8f;float fitHeight = getImgHeight(new File("ImageToPDF.png"))/ fitRate*0.8f;page.getCanvas().drawImage(image, 50, 30, fitWidth, fitHeight);//保存并关闭doc.saveToFile("ImageToPDF.pdf");doc.close();}/*** @param ImageFile* @return image width*/public static int getImgWidth(File ImageFile) {InputStream is = null;BufferedImage src = null;int ret = -1;try {is = new FileInputStream(ImageFile);src = javax.imageio.ImageIO.read(is);ret = src.getWidth(null);is.close();} catch (Exception e) {e.printStackTrace();}return ret;}/*** @param ImageFile* @return image height*/public static int getImgHeight(File ImageFile) {InputStream is = null;BufferedImage src = null;int ret = -1;try {is = new FileInputStream(ImageFile);src = javax.imageio.ImageIO.read(is);ret = src.getHeight(null);is.close();} catch (Exception e) {e.printStackTrace();}return ret;}}

图片:

生成PDF文件:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。