1. 程式人生 > >PDF轉圖片Java實現

PDF轉圖片Java實現

<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>   
package test;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;

import com.lowagie.text.pdf.PdfReader;

public class PDF2IMAGE {
	public static void main(String[] args) {
		pdf2Image("D:/1.pdf", "D:/pdf", 300);
	}

	/***
	 * PDF檔案轉PNG圖片,全部頁數
	 * 
	 * @param PdfFilePath pdf完整路徑
	 * @param imgFilePath 圖片存放的資料夾
	 * @param dpi dpi越大轉換後越清晰,相對轉換速度越慢
	 * @return
	 */
	public static void pdf2Image(String PdfFilePath, String dstImgFolder, int dpi) {
		File file = new File(PdfFilePath);
		PDDocument pdDocument;
		try {
			String imgPDFPath = file.getParent();
			int dot = file.getName().lastIndexOf('.');
			String imagePDFName = file.getName().substring(0, dot); // 獲取圖片檔名
			String imgFolderPath = null;
			if (dstImgFolder.equals("")) {
				imgFolderPath = imgPDFPath + File.separator + imagePDFName;// 獲取圖片存放的資料夾路徑
			} else {
				imgFolderPath = dstImgFolder + File.separator + imagePDFName;
			}

			if (createDirectory(imgFolderPath)) {

				pdDocument = PDDocument.load(file);
				PDFRenderer renderer = new PDFRenderer(pdDocument);
				/* dpi越大轉換後越清晰,相對轉換速度越慢 */
				PdfReader reader = new PdfReader(PdfFilePath);
				int pages = reader.getNumberOfPages();
				StringBuffer imgFilePath = null;
				for (int i = 0; i < pages; i++) {
					String imgFilePathPrefix = imgFolderPath + File.separator + imagePDFName;
					imgFilePath = new StringBuffer();
					imgFilePath.append(imgFilePathPrefix);
					imgFilePath.append("_");
					imgFilePath.append(String.valueOf(i + 1));
					imgFilePath.append(".png");
					File dstFile = new File(imgFilePath.toString());
					BufferedImage image = renderer.renderImageWithDPI(i, dpi);
					ImageIO.write(image, "png", dstFile);
				}
				System.out.println("PDF文件轉PNG圖片成功!");

			} else {
				System.out.println("PDF文件轉PNG圖片失敗:" + "建立" + imgFolderPath + "失敗");
			}

		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	private static boolean createDirectory(String folder) {
		File dir = new File(folder);
		if (dir.exists()) {
			return true;
		} else {
			return dir.mkdirs();
		}
	}

}


相關推薦

PDF圖片Java實現

<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>fontbox</artifactId> <v

Android應用開發之PDF圖片功能實現

一、概述 轉眼畢業小兩年了,回想這兩年寫的程式碼,不由得想起了上學那會兒某位網際網路大牛說,搞IT這行如果你沒有寫夠十萬行程式碼,那你就還沒有入門,俺這個時候真的有點汗顏啊,此處省略十萬字。小編最近開始整理這兩年寫的程式碼,不由得首先想起了今天要寫的這個功能—

JAVA中使用openoffice將ExcelPDF圖片功能實現

需求 公司一個小專案要結尾了, 有非常多的表格, 而且非常複雜, 例如 例如:(這表格, 有想死的心…) 看到這樣的表格,第一反應是n臉懵逼,這得做到啥時候啊,最後想到用一個方法,讓客戶自己玩!! 平臺提供Excel模版下載,客戶下載填

java實現PDF圖片(每頁轉換成一張圖片,可單頁轉換或指定頁數)

話不多說,直接上程式碼 public class PDF2IMAGE { public static void main(String[] args) { if(args!=null && args.length>=4) {

java實現pdf圖片pdf

為了實現pdf報表不可篡改,將pdf報表轉換為內容全為圖片的pdf報表。 實現思路: 3.將byte[]圖片資料加入到輸出pdf中(使用itext.jar)。 實現方法: public static void pdfToImageToPd

PDF圖片,怎樣實現PDF圖片

PDF怎樣轉圖片呢?因為圖片傳輸資訊的直觀性和方便性,所以現在很多的資訊都是通過圖片進行傳遞的,那麼如果我們手上有一份需要以圖片格式進行傳輸的PDF檔案,那麼我們應該怎樣實現PDF轉圖片的問題呢?下面跟隨小編的步伐一起來看一下吧。步驟一:在電腦上將需要進行轉換的PDF檔案準備好,同時通過瀏覽器搜尋迅捷PDF線

[那些年踩過的坑]pdf轉換為圖片的教程(pdf的Base64轉換為圖片的base64和自己不通過第三方來實現pdf圖片的Dome)

  因為工作需要,要把PDF的64字串轉換為圖片的base64儲存到資料庫,但是看了看國內外,一方面是做這個的比較少,還有就是做這個真的很煩.   PDF轉圖片呢,大概的實現思路方式一般有兩種,一種就是重繪,類似於畫畫,把看到的畫到新的畫布上;第二種呢,就會識別裡面的內容複製到新的畫布上,我也不知道我比喻準

go語言中pdf圖片功能的實現(CentOS)

一、centos下環境部署步驟1:部署ImageMagick(2)解壓剛才下載的檔案: tar xvf  ImageMagick-6.9.9-36.tar.gz(3)進入解壓目錄:cd ImageMagick-6.9.9-36(4)檢查配置:./configure(5)安裝j

JAVA實現word doc docx pdf excel的線上瀏覽

我們具體實現思路是這樣的 首先下載並安裝openoffice和swftools 本原始碼下載地址: 本原始碼採用 j2ee eclipse luna+Apache tomcat7下開發 如果環境不一致,請移植一下。 這是程式碼的整體架構 程式碼首先需要修改 com.eda.test.conf

Java讀寫pdfpdf圖片工具類

    本工具類所用到的相關jar包及版本有:     1.pdfbox-1.5.0.jar     2.fontbox-1.5.0.jar     3.jempbox-1.5.0.jar     4.iText-5.0.6.jar; package com.qunliv

C# web實現word Html、officeHtml、pdf圖片 線上預覽檔案

 改篇 pdf 預覽再本機沒問題,釋出再iis中 不行 ,(使用剪貼簿的問題..excel和word 可以,) 詳細配置及程式碼 word 轉Html 複製程式碼  1 /// <summary>  2         /// word轉成html  3  

使用pdfBox實現pdf圖片,解決中文方塊亂碼等問題

sca 測試 load 引入 from ack image 2.0 rim 一、引入依賴 <dependency> <groupId>org.apache.pdfbox</groupId> <artifa

PDF圖片以及html

type 電子書 技術分享 tor 實現 img image() lose bag 嘿,筆者就是本著有意思的心態。其實實現的原理與ppt轉html的一致。先轉成圖片,然後把圖片呈現在html上。直接貼代碼嘍。 package com.css.java.lea

十進位制八進位制 二進位制 java實現

程式碼 private static void myToOctalString(int a) { String str = ""; while (true) { str = a % 8 + str; a = a / 8; if (a == 0) bre

PDF圖片(C#版本)

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Windows.Forms; 5 using O2S.Components.PDFRender4NET; 6 using Sys

Java實現簡訊驗證碼(阿里雲服務商)

1.先去阿里雲開通簡訊服務: 2.新增模板及簽名:需要稽核,個人賬戶稽核就幾分鐘就OK 先解釋一下模板及簽名: 標準參照:https://help.aliyun.com/document_detail/55324.html?spm=5176.sms-sign.0

Unicode編碼和中文互JAVA實現

//中文轉Unicode public static String gbEncoding(final String gbString) { //gbString = "測試" char[] utfBytes = gbString.toCharArray();

python wand image純圖片PDF圖片後呼叫百度OCR

一、安裝庫 pip install wand yum update yum -y install ImageMagick-devel 我自己是在docker裡面安裝測試的,沒問題 二、開整 大體思路: 使用wand處理純圖片的PDF檔案(轉成圖片) 使用I

安卓手機PDF圖片的簡單操作方法

有時候我們可能需要將手機的照片放在一起,然後轉換為PDF格式的檔案,現在不僅是電腦手機也可以實現了,徹底的解除了電腦的束縛,今天小編就將轉換的方法分享給大家。 轉換工具介紹:它是一款提供檔案格式轉換的辦公應用。支援一鍵完成PDF檔案與Office、HTML、TX

關於PDF圖片檔案

大家好,我是你們親愛的小六六,上篇說到會出有關PDF轉圖片檔案,現在就給大家貼出來 ,有需要的朋友參考。 話不多說上乾貨!!! public static List<String> pdfToImagePath(String filePath){