java 多圖片轉換PDF

來源:互聯網
上載者:User

標籤:enc   auth   doc   height   直接   date   div   out   exce   

  公司提了個小最佳化:因為有些圖片是分開上傳(十多張),然後需要列印,需要提供一次效能直接列印,而無需每張圖片儲存在列印(上傳人員跟列印人員不是同一撥人),所以就希望能把多張圖片全轉換在一個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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.