springboot实现pdf里面插入图片

1.在pdf里面的固定位置插入图片logo

引入依赖itextpdf

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

2.编写测试代码,在固定位置,页码,设置插入图片透明度,大小

  /**
     * 测试用例
     */
    @Test
    public void test1() throws IOException, DocumentException {
        //pdf文件存放在d盘
        File file = new File("D:\\ERC\\pdf插入图片测试\\ERC初级学员(BLS)证书.pdf");
        //合成后的文件
        FileOutputStream outputStream = new FileOutputStream("D:\\ERC\\pdf插入图片测试\\ERC初级学员(BLS)证书_aa.pdf");
        PdfReader reader = new PdfReader(new FileInputStream(file));
        PdfStamper stamper = new PdfStamper(reader, outputStream);
        //将签名图片放在pdf文件的第1页
        PdfContentByte over = stamper.getOverContent(1);
        //签名图片
        Image contractSealImg = Image.getInstance("D:\\ERC\\pdf插入图片测试\\测试.jpeg");
        over.saveState();
        PdfGState pdfGState = new PdfGState();
        pdfGState.setFillOpacity(1F);  //给图片设置透明度
        over.setGState(pdfGState);
        contractSealImg.setAbsolutePosition(215,100);  //设置图片位置
        contractSealImg.scaleAbsolute(60, 60);  //设置图片大小
        over.addImage(contractSealImg);  //将图片添加到pdf文件
        over.restoreState();
        stamper.setFormFlattening(true);
        stamper.close();
        reader.close();
        outputStream.close();
    }

3.原pdf

插入成功后

 

 

posted @ 2022-08-11 18:49  码海兴辰  阅读(197)  评论(0编辑  收藏  举报