Java 可以通过 IText 直接把内容生成 pdf 文件,下面的 Demo 主要演示了文件属性、页眉页脚、表格、段落文字、图片的生成。
先上代码:
package html2PDF;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import com.lowagie.text.BadElementException;
import com.lowagie.text.Cell;
import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.HeaderFooter;
import com.lowagie.text.Image;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Phrase;
import com.lowagie.text.Rectangle;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;
public class CreatePdf {
public static void main(String[] args) throws Exception {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(new File("E:\\pdfTest\\mypdfdoc.pdf")));
BaseFont baseFont = BaseFont.createFont("E:\\testFile\\msyh.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
// 文字如果要加粗,修改第三个参数
Font msya = new Font(baseFont, 12, Font.NORMAL);
//设置文档属性
createAttr(document);
//设置页眉页脚
createHeaderFooter(document, msya);
document.open();
document.add(new Paragraph("Table 样例", msya));
//创建表格及设置表格样式
Table table = createTable(4, Element.ALIGN_CENTER, 2);
//创建单元格并设置样式,看自身情况可使用循环
table.addCell(createCell("姓名", msya));
// table.addCell(createCell("性别", msya, Element.ALIGN_LEFT), Element.ALIGN_TOP);
table.addCell(createCell("性别", msya));
table.addCell(createCell("籍贯", msya));
table.addCell(createCell("生日", msya));
table.addCell(