图片插入pdf文件

导入依赖

<!--生成pdf-->
        <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.13</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.itextpdf/itext-asian -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>
package com.ctdcn.business.nz.controller;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.PdfWriter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

import java.io.File;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;

@Controller
public class CreateImgPdf {

    //img文件地址
    private String imgFolder = "C:\\img";

    //pdf文件地址
    private String pdfFolder = "C:\\ctdFile\\newPdf\\Doc1.pdf";

    @GetMapping(value = "createimgpdf")
    public String createImgPdf() {
        //获取img文件夹中的所有文件流
        File inputImg = new File(imgFolder);
        File outPdf = new File(pdfFolder);
        //创建document对象
        Document document = new Document();
        //设置位置
        document.setMargins(0, 0, 0, 0);
        //创建PdfWriter
        try {
            PdfWriter.getInstance(document, new FileOutputStream(outPdf));
            //打开文档
            document.open();
            //转换成数组
            File[] imageFiles = inputImg.listFiles();
            //循环便利img数组获取单个图片
            for (int i = 0; i < imageFiles.length ; i++) {
                //将bmp jpg jpeg gif png 以外的格式排除
                if(imageFiles[i].getName().toLowerCase().endsWith(".bmp")
                        || imageFiles[i].getName().toLowerCase().endsWith(".jpg")
                        || imageFiles[i].getName().toLowerCase().endsWith(".jpeg")
                        || imageFiles[i].getName().toLowerCase().endsWith(".gif")
                        || imageFiles[i].getName().toLowerCase().endsWith(".png")){
                    //获取图片数据生成img对象
                    Image img = Image.getInstance(imageFiles[i].getAbsolutePath());
                    //重新设置图片的像素
                    img.scaleAbsolute(600,500);
                    //获取图片高
                    float imgeHeight=img.getScaledHeight();
                    //获取图片宽(可以获取图片宽高进行重新赋值)
                    float imgeWidth=img.getScaledWidth();
                    img.setAlignment(Image.ALIGN_CENTER);
                    //设置图片的绝对位置
                    img.setAbsolutePosition(20, 150);
                    document.setPageSize(PageSize.A4);
                    document.newPage();
                    document.add(img);
                }
            }
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            document.close();
        }
        return "合成成功";
    }

}

你可能感兴趣的:(io)