半岛官方网站下载,网站备案 现场提交,做金融必看网站,怎么自助建站java使用iText 生成PDF全攻略,包括创建文档,设置字体,添加表格(PdfPTable),创建新页(newPage),设置布局,加密主要使用的jar包: itextpdf-5.4.2.jar,itext-pdfa-5.4.2.jar,itext-xtra-5.4.2.jar,如果用到中文#xff0c;需要CJK字体的扩展包#xff1a;itext-asian.jar如果用到…java使用iText 生成PDF全攻略,包括创建文档,设置字体,添加表格(PdfPTable),创建新页(newPage),设置布局,加密主要使用的jar包: itextpdf-5.4.2.jar,itext-pdfa-5.4.2.jar,itext-xtra-5.4.2.jar,如果用到中文需要CJK字体的扩展包itext-asian.jar如果用到特殊符号的需要另一个扩展包itext-hyph-xml.jar。所有这些使用的jar包都可以在itext 5.4.2 官方下载地址:itext-5.4.2.zip运行环境: java version 1.6.0_18 iText 5.4.2创建文档package com.pdf;import java.io.FileOutputStream;import com.itextpdf.text.BaseColor;import com.itextpdf.text.Chunk;import com.itextpdf.text.Document;import com.itextpdf.text.Font;import com.itextpdf.text.PageSize;import com.itextpdf.text.Paragraph;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pdf.PdfWriter;public class ItextHelloword {public static void test() {// 常用页面大小 PageSize.A4;Document doc new Document(PageSize.A4);try {// 定义输出位置并把文档对象装入输出对象中PdfWriter.getInstance(doc,new FileOutputStream(f:/hello.pdf));// 打开文档对象doc.open();// 加入文字HelloWorlddoc.add(new Paragraph(HelloWorld));// 关闭文档对象释放资源doc.close(); } catch (Exception e) { e.printStackTrace(); } } }设置字体亚洲国家的字体你可以从http://itext.sourceforge.net/downloads/iTextAsian.jar下载这个包。然后把它直接放到你的ClassPath中就可以了BaseFont bfChinese BaseFont.createFont(STSong-Light, UniGB-UCS2-H, BaseFont.NOT_EMBEDDED);Font FontChinese new Font(bfChinese, 12, Font.NORMAL);表格package com.pdf;import java.io.FileOutputStream;import org.apache.poi.ss.usermodel.Cell;import com.EnumTypeExampe.Color;import com.itextpdf.awt.geom.Rectangle;import com.itextpdf.text.BaseColor;import com.itextpdf.text.Chunk;import com.itextpdf.text.Document;import com.itextpdf.text.Element;import com.itextpdf.text.Font;import com.itextpdf.text.PageSize;import com.itextpdf.text.Paragraph;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pdf.PdfPCell;import com.itextpdf.text.pdf.PdfPTable;import com.itextpdf.text.pdf.PdfWriter;public class ItextHelloword {/*** param args*/public static void main(String[] args)throws Exception {test() ;}public static void test() {// 常用页面大小 PageSize.A4;Document doc new Document(PageSize.A4);try {// 定义输出位置并把文档对象装入输出对象中PdfWriter writerPdfWriter.getInstance(doc,new FileOutputStream(f:/hello.pdf));// 定义中文字体BaseFont bfChinese BaseFont.createFont(STSong-Light,UniGB-UCS2-H, BaseFont.NOT_EMBEDDED);Font fontCN new Font(bfChinese, 12,Font.NORMAL);// 打开文档对象doc.open();// 加入文字HelloWorlddoc.add(new Paragraph(HelloWorld));//定义一个表格 创建一个有3列的表格PdfPTable table new PdfPTable(3);// 定义一个表格单元PdfPCell cell new PdfPCell(new Paragraph(some text));// cell.setBorder(1);// 把单元加到表格中table.addCell(cell);// 把下面这9项顺次的加入到表格中当一行充满时候自动折行到下一行table.addCell(1.1);table.addCell(2.1);table.addCell(3.1);table.addCell(1.2);table.addCell(2.2);table.addCell(3.2);table.addCell(1.3);table.addCell(2.3);table.addCell(3.3);// 增加到文档中doc.add(table);doc.add(new Paragraph(居右 50%, fontCN));// 设置表格大小为可用空白区域的50%table.setWidthPercentage(50);// 设置水平对齐方式为 居右table.setHorizontalAlignment(Element.ALIGN_RIGHT);doc.add(new Paragraph(居左 50%, fontCN));// 增加到文档中3doc.add(table);// 设置水平对齐方式为 居左table.setHorizontalAlignment(Element.ALIGN_LEFT);doc.add(table);// 关闭文档对象释放资源doc.close();} catch (Exception e) {e.printStackTrace();}}}创建新页// 创建第2的页面document.newPage();document.add(new Paragraph(Hello Earth));document.resetHeader();// 创建第3的页面document.newPage();document.add(new Paragraph(Hello Sun));document.add(new Paragraph(Remark: the header has vanished!));document.resetPageCount();加密public static void test() {// 常用页面大小 PageSize.A4;Document doc new Document(PageSize.A4);try {// 定义输出位置并把文档对象装入输出对象中PdfWriter writerPdfWriter.getInstance(doc,new FileOutputStream(f:/hello.pdf));// 打开文档对象doc.open();// 加入文字HelloWorlddoc.add(new Paragraph(HelloWorld));// setEncryption方法中可以设置如下内容(这样打开pdf时需要输入口令)// PdfWriter.STRENGTH128BITS, userpass, ownerpass,// PdfWriter.AllowCopy | PdfWriter.AllowPrintingwriter.setEncryption(userpassword.getBytes(), ownerPassword.getBytes(), PdfWriter.ALLOW_COPY, PdfWriter.EMBEDDED_FILES_ONLY);// writer.setEncryption(PdfWriter.STRENGTH40BITS,//, , PdfWriter.AllowCopy);// 关闭文档对象释放资源doc.close();} catch (Exception e) {e.printStackTrace();}}以下图片是上面代码中生成的表格: