首页 > 代码库 > Java在已存在的pdf文件中生成文字和图片--基础
Java在已存在的pdf文件中生成文字和图片--基础
自我总结,有什么不足之处请告知,感激不尽!下一次总结pdf模板映射生成报表(应对多变的pdf报表需求,数据提供和报表生成解耦)。
目的:在给定的pdf模板上生成报表,就需要知道最基本的操作:文字添加,图片添加。
原因:pdf生成中,最常见的操作就是生成文字,生成图片,所以本次和大家一块来学习一下文字和图片的生成。
准备工作:
1. 引入jar: 在pom.xml中引入itextpdf包语句,在链接随便选一个版本(我的是5.20):http://www.mvnrepository.com/artifact/com.itextpdf/itextpdf
2. 新建一个空白的pdf文件。
3. 准备一张图片。
4.需要理解的概念:在pdf页面坐标原点(0,0)在左下角
code:Test类
package com.core.pdf;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import com.itextpdf.text.BaseColor;import com.itextpdf.text.DocumentException;import com.itextpdf.text.Image;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pdf.PdfContentByte;import com.itextpdf.text.pdf.PdfReader;import com.itextpdf.text.pdf.PdfStamper;public class Test { public static void main(String[] args) throws DocumentException, IOException { BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED); InputStream input = new FileInputStream(new File("E:/pdf_test/test.pdf")); PdfReader reader = new PdfReader(input); OutputStream output = new FileOutputStream(new File("E:/pdf_test/test1.pdf")); PdfStamper stamper = new PdfStamper(reader, output); PdfContentByte page = stamper.getOverContent(1); //将文字贴入pdf page.beginText(); page.setFontAndSize(baseFont,12); BaseColor coler = new BaseColor(0, 0, 0); page.setColorFill(coler); page.setTextMatrix(100,500); //设置文字在页面中的坐标 page.showText("添加文字信息"); page.endText(); //将图片贴入pdf Image image = Image.getInstance("E:/pdf_test/8.png"); image.setAbsolutePosition(100,200); //设置图片在页面中的坐标 page.addImage(image); stamper.close(); reader.close(); input.close(); }}
好了本次总结结束
Java在已存在的pdf文件中生成文字和图片--基础
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。