iText7初步使用:生成简单的pdf文件
2017-06-12 16:46
627 查看
下面这段是最简单的实现,不是图上的效果。
String DEST2 = "G:\\test4.pdf";//文件路径 PdfFont sysFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);//中文设置 PdfDocument pdfDoc = new PdfDocument(new PdfWriter(DEST2)); Document doc = new Document(pdfDoc);//构建文档对象 Paragraph paragraph = new Paragraph("hello word 你好 世界"); //段落方法 paragraph.setFont(sysFont);//自定义中文 doc.add(paragraph);//段落添加到文档中 doc.close();//关闭文档流
4000
图上的实现
1.工具类
package com.gsafety.plan.module.util; import java.io.IOException; import com.itextpdf.kernel.font.PdfFont; import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; import com.itextpdf.layout.property.TextAlignment; /** * * * * * @author Hui * */ public class PDFUtil { public static String DEST2 = "";//文件路径 public static PdfFont sysFont =null; public PDFUtil(String url){ try { sysFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);//中文设置 DEST2=url;//文件路径+名字 } catch (IOException e) { e.printStackTrace(); } } /** * 创建pdf doc * @return doc * */ public Document createPdfDoc() throws Exception{ PdfDocument pdfDoc = new PdfDocument(new PdfWriter(DEST2)); Document doc = new Document(pdfDoc);//构建文档对象 return doc; } /** * 添加大标题 * @param * * */ public void addTitle(Document doc,String title) throws Exception{ Paragraph paragraph = new Paragraph(); paragraph.add(title).setFont(sysFont).setBold().setFontSize(20).setTextAlignment(TextAlignment.CENTER); doc.add(paragraph); } /** * 添加一级标题 * @param * * */ public void addHeading1(Document doc,String pg) throws Exception{ Paragraph paragraph = new Paragraph(); paragraph.add(pg).setFont(sysFont).setBold().setFontSize(16); doc.add(paragraph); } /** * 添加二级标题 * @param * * */ public void addHeading2(Document doc,String pg) throws Exception{ Paragraph paragraph = new Paragraph(); paragraph.add(pg).setFont(sysFont).setBold().setFontSize(14).setFirstLineIndent(14); doc.add(paragraph); } /** * 添加三级标题 * @param * * */ public void addHeading3(Document doc,String pg) throws Exception{ Paragraph paragraph = new Paragraph(); paragraph.add(pg).setFont(sysFont).setBold().setFontSize(12); doc.add(paragraph); } /** * 添加段落 * @param * */ public void addParagraph(Document doc,String pg) throws Exception{ Paragraph paragraph = new Paragraph(); paragraph.add(pg).setFont(sysFont).setFirstLineIndent(20);//中文字体,首行缩进 doc.add(paragraph); } }
2.测试
import com.itextpdf.layout.Document; public class Testp { public static String url="G:\\test4.pdf"; public static void main(String[] args) throws Exception { long old = System.currentTimeMillis(); PDFUtil pdfUtil=new PDFUtil(url);//传入路径+文件名,使用工具类 Document doc= pdfUtil.createPdfDoc(); pdfUtil.addTitle(doc, "我是标题");//添加标题 pdfUtil.addHeading1(doc,"标题1"); pdfUtil.addParagraph(doc,"内容11111111"); pdfUtil.addHeading1(doc,"标题2"); pdfUtil.addHeading2(doc,"标题2.1"); pdfUtil.addParagraph(doc,"内容2.1"); pdfUtil.addHeading2(doc,"标题2.2"); pdfUtil.addParagraph(doc,"内容2.2"); doc.close(); long now = System.currentTimeMillis(); System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒\n\n" + "文件保存在:" + url); } }
相关文章推荐
- Java 使用iText7生成带页码的PDF文件(同时生成目录,但是不会合并两个PDF)
- 使用ireport做pdf报表,生成的pdf一直都是文件损坏,无法打开,哪位大侠指点一下
- 用C#代码生成一个简单的PDF文件
- itext使用模板生成pdf文件
- 使用的开放源码Scryber库动态生成PDF文件
- 使用freemaker和itext从html模板生成pdf文件
- 用C#代码生成一个简单的PDF文件
- 使用jxl,Servlet,JSP 动态生成excel文件并提示下载的简单方法
- PDF文件的读写(使用SDK).(三).PoDoFo的简单应用
- Java iText PDF:用 iText 包生成简单的 pdf 文件
- 滴水穿石--Java 生成PDF文件--iText使用之插入图片和中文乱码
- 用C#代码生成一个简单的PDF文件
- PrimoPDF,简单生成PDF文件,不简单!
- Itext 生成 pdf文件使用方法:
- java使用IText生成PDF格式文件
- iTEXT生成PDF文件使用方法 实例 示例 Servlet输出PDF文档方法
- C#——使用iTextSharp生成pdf文件
- 使用Apache XML项目FOP生成PDF文件(上)
- 使用Aspose.Pdf处理XML文档生成PDF文件
- 使用itext组件生成PDF文件