iText导出PDF(图片,水印,页眉,页脚) 您所在的位置:网站首页 indesign添加页眉页脚 iText导出PDF(图片,水印,页眉,页脚)

iText导出PDF(图片,水印,页眉,页脚)

2024-01-18 13:58| 来源: 网络整理| 查看: 265

项目需要导出PDF,导出的内容包含图片和文本,而且图片的数量不确定,在网上百度发现大家都在用iText,在官网发现可以把html转换为PDF,但是需要收费,那就只能自己写了。

在开始之前先在网上百度了一下,发现网上的博客都是一大堆代码,注释也没几句,根本看不懂,所以就去了官网,官网的快速开始是iText7,在使用过程中发现如果文档中有图片,水印会被图片遮盖,找了好久也没找到怎么设置,网上大部分都是iText5的设置方法,所以就弃用了iText7。

1.添加依赖:

com.itextpdf itextpdf 5.5.11 com.itextpdf itext-asian 5.2.0

2.首先还是从helloWorld开始

public static final String DEST = "D:/biolims/results/chapter01/hello_world.pdf"; public static final String[] IMAGES = { "C:/Users/Administrator/Pictures/Screenshots/屏幕截图(1).png", "C:/Users/Administrator/Pictures/20190830133125.png" }; public static void main(String args[]) throws Exception { File file = new File(DEST); file.getParentFile().mkdirs(); new Test().createPdf(DEST); } public void createPdf(String dest) throws Exception { // 第一步 创建文档实例 Document document = new Document(); // 第二步 获取PdfWriter实例 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest)); // 第三步 打开文档 document.open(); // 第四步 添加段落内容 document.add(new Paragraph("Hello World!")); // 第五部 操作完成后必须执行文档关闭操作。 document.close(); System.out.print("生成成功"); }

2.添加图片及文本(目前iText支持的图像有:GIF,JPEG,PNG,BMP等格式,对于不同的图像格式,iText用同样的构造函数自动识别图像格式):

注:后来客户又要导出图注,格式是上面是图片,图片的下面是图注,图注为文字,出现了一个问题,就是上一页剩余的空间不足够放图片了,所以图片到了下一页,但是上一页的空间可以放下图注,那么图注就会跑到上一页,导致格式错乱,这时候只要在创建PdfWriter后加上这句代码就可以了(

writer.setStrictImageSequence(true); //设置图片是否精确放置,选择是(true),否(false):)

import com.biolims.file.util.PDFEventHandler; import com.itextpdf.text.Document; import com.itextpdf.text.Image; import com.itextpdf.text.PageSize; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; public static final String DEST = "D:/biolims/results/chapter01/hello_world.pdf"; public static final String[] IMAGES = { "C:/Users/Administrator/Pictures/Screenshots/屏幕截图(1).png", "C:/Users/Administrator/Pictures/20190830133125.png" }; public static void main(String args[]) throws Exception { File file = new File(DEST); file.getParentFile().mkdirs(); new Test().createPdf(DEST); } public void createPdf(String dest) throws Exception { // 第一步 创建文档实例 Document document = new Document(); // 第二步 获取PdfWriter实例 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest)); // 第三步 打开文档 document.open(); // 第四步 添加段落内容 document.add(new Paragraph("Hello World!")); for(int i = 0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有