1. 程式人生 > >java 多圖片轉換PDF

java 多圖片轉換PDF

The java stack cas exception IT list() new copyright

  公司提了個小優化:因為有些圖片是分開上傳(十多張),然後需要打印,需要提供一次性能直接打印,而無需每張圖片保存在打印(上傳人員跟打印人員不是同一撥人),所以就希望能把多張圖片全轉換在一個PDF文件裏。

  這裏使用到了個工具類:

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.10</version>
</dependency>

  總的來說,還是比較簡單:

package com.example.zgz.demo;

import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfWriter;

import java.io.File;
import java.io.FileOutputStream;

/**
 * @author zhangguangze
 * @version v1.0
 * @project: zgz
 * @description: 這裏描述類的用處
 * @copyright: ? 2018
 * @company:
 * @date 2018/5/16 14:23
 
*/ public class PdfUtil { private static String FILEPATH = "F:\\testpdf\\pdf\\"; /** * * @param fileName * 生成pdf文件 * @param imagesPath * 需要轉換的圖片路徑的數組 */ public static void imagesToPdf(String fileName, String imagesPath) { try { fileName
= FILEPATH+fileName+".pdf"; File file = new File(fileName); // 第一步:創建一個document對象。 Document document = new Document(); document.setMargins(0, 0, 0, 0); // 第二步: // 創建一個PdfWriter實例, PdfWriter.getInstance(document, new FileOutputStream(file)); // 第三步:打開文檔。 document.open(); // 第四步:在文檔中增加圖片。 File files = new File(imagesPath); String[] images = files.list(); int len = images.length; for (int i = 0; i < len; i++) { if (images[i].toLowerCase().endsWith(".bmp") || images[i].toLowerCase().endsWith(".jpg") || images[i].toLowerCase().endsWith(".jpeg") || images[i].toLowerCase().endsWith(".gif") || images[i].toLowerCase().endsWith(".png")) { String temp = imagesPath + "\\" + images[i]; Image img = Image.getInstance(temp); img.setAlignment(Image.ALIGN_CENTER); // 根據圖片大小設置頁面,一定要先設置頁面,再newPage(),否則無效 document.setPageSize(new Rectangle(img.getWidth(), img.getHeight())); document.newPage(); document.add(img); } } // 第五步:關閉文檔。 document.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { String name = "20001543"; String imagesPath = "F:\\testpdf\\image"; imagesToPdf(name, imagesPath); } }

java 多圖片轉換PDF