java 通过 itext生成pdf添加,插入文字,图片
2017-07-27 11:45
821 查看
准备工作
引用pom
1. 生成导出
写入到本地的文件中,不存在会自动创建,存在则覆盖,注意双斜杠的写法
两种输入方式:
2. 设置字体
3. 添加文本和段落
4. 添加图片
引用pom
<!--生成pdf--> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.11</version> </dependency> <!--中文字体--> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version> </dependency> <!--html xml 转为pdf--> <dependency> <groupId>com.itextpdf.tool</groupId> <artifactId>xmlworker</artifactId> <version>5.5.11</version> </dependency>
1. 生成导出
写入到本地的文件中,不存在会自动创建,存在则覆盖,注意双斜杠的写法
两种输入方式:
//直接输出到本地文件 PdfWriter.getInstance(document, new FileOutputStream("F:\\Hello simplePDF.pdf")); //byte[]格式文件流输出 ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); byte[] buffer = byteStream.toByteArray();
public void createInstructionPDF() { try { Document document = new Document(PageSize.A4, 60, 60, 60, 60); //PdfWriter.getInstance(document, new FileOutputStream("F:\\Hello simplePDF.pdf")); ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); PdfWriter.getInstance(document, byteStream); document.addAuthor("XXX"); document.addCreationDate(); document.addCreator("XXX"); document.addSubject("XXXXXX"); document.addTitle("XXXXXX"); document.addHeader("Expires", "0"); document.open(); //createPdfContent(document); document.close(); byte[] buffer = byteStream.toByteArray(); FileOutputStream fos = new FileOutputStream("F:\\Instruction.pdf"); fos.write(buffer); fos.close(); } catch (Exception ex) { } return result; }
2. 设置字体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);//中文字体 Font fontTitle = new Font(bfChinese, 24, Font.BOLD); Font fontBig = new Font(bfChinese, 18, Font.NORMAL);
3. 添加文本和段落
private void createPdfContent(Document document, Font fontTitle,Font fontNormal) { try { Chunk glue = new Chunk(new VerticalPositionMark());//用来隔断到一行的两边 int timeOffSet = 3600; Paragraph paragraph1 = new Paragraph("上海旅行攻略", fontTitle); String strTimeOff = "中国比" + cityName + (timeOffSet < 0 ? "快" + Math.abs(timeOffSet) + "小时" : "慢" + Math.abs(timeOffSet) + "小时"); Chunk timeChunk = new Chunk(strTimeOff, fontNormal); paragraph1.add(glue); paragraph1.add(timeChunk); paragraph1.setSpacingAfter(10);//距离后面行距 document.add(paragraph1); } catch (Exception ex) { } }
4. 添加图片
private void createPic(Document document) { String headPicture = "图片地址链接"; try { Image image = Image.getInstance(headPicture); float documentWidth = document.getPageSize().getWidth() - document.leftMargin() - document.rightMargin(); float documentHeight = documentWidth / 580 * 320;//重新设置宽高 image.scaleAbsolute(documentWidth, documentHeight);//重新设置宽高 document.add(image); } catch (Exception ex) { } }
相关文章推荐
- java 通过IText生成PDF时顺序问题(图片)
- java 通过itext 创建pdf 添加,插入 表格,html格式
- 滴水穿石--Java 生成PDF文件--iText使用之插入图片和中文乱码
- java 生成pdf文件,添加图片
- Itext PDF生成 加水印图片文字
- Java在已存在的pdf文件中生成文字和图片--基础
- Itext PDF生成 加水印图片文字
- pdf加水印,文字和图片,超链接, java itext, 这里有你想要的一切
- itext生成pdf文件---图片插入
- java通过itext生成PDF,设置单元格cell的最大高度 以及 itext7初尝
- iText7 生成 PDF 文件,解决各种操作系统中文问题,控制指定位置显示图片、文字、图文混排
- itext 5.3.0实现对pdf文件添加(文字和图片)水印
- Java使用Freemarker和iText生成带有图片的PDF文件
- java生成word,通过xml方式,插入图片base64,linux/mac问题
- java 使用itext导出PDF文件,图片文字左右布局
- java-使用 flying-saucer 通过 xhtml 生成 pdf 文档支持 css 和 图片
- 通过java代码生成图片、word文档、pdf文档
- java通过xml配置属性用iText包生成pdf文件
- java 生成pdf文件,添加图片
- Java生成PDF文档(表格、列表、添加图片等)