亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java開源工具iText生成PDF簡單實例

2019-11-26 15:06:50
字體:
來源:轉載
供稿:網友

iText下載頁面: http://sourceforge.net/projects/itext/files/
1.創建簡單的PDF文件

package console.pdf;import java.io.FileNotFoundException;import java.io.FileOutputStream;import com.itextpdf.text.Document;import com.itextpdf.text.DocumentException;import com.itextpdf.text.PageSize;import com.itextpdf.text.Paragraph;import com.itextpdf.text.pdf.PdfWriter;/** * 使用iText生成PDF文件 */public class CreatePDF {  public static void main(String[] args) {    CreatePDF p001 = new CreatePDF();    String filename = "P001.pdf";    p001.createPDF(filename);  }  public void createPDF(String filename) {    // step 1    Document document = new Document(PageSize.A4);    // step 2    try {      PdfWriter.getInstance(document, new FileOutputStream(filename));            document.addTitle("ID.NET");      document.addAuthor("dotuian");       document.addSubject("This is the subject of the PDF file.");       document.addKeywords("This is the keyword of the PDF file.");            // step 3      document.open();      // step 4      document.add(new Paragraph("Hello World!"));          } catch (FileNotFoundException e) {      e.printStackTrace();    } catch (DocumentException e) {      e.printStackTrace();    } finally {      // step 5      document.close();    }  }      }


2.在PDF文件中添加Table

package console.pdf;import java.io.FileNotFoundException;import java.io.FileOutputStream;import com.itextpdf.text.BaseColor;import com.itextpdf.text.Document;import com.itextpdf.text.DocumentException;import com.itextpdf.text.PageSize;import com.itextpdf.text.Phrase;import com.itextpdf.text.Rectangle;import com.itextpdf.text.pdf.PdfPCell;import com.itextpdf.text.pdf.PdfPTable;import com.itextpdf.text.pdf.PdfWriter;/** * 使用iText生成PDF文件 * 在PDF文件中創建表格 */public class TableOfPDF {  public static void main(String[] args) {    TableOfPDF p001 = new TableOfPDF();    String filename = "P002.pdf";    p001.createPDF(filename);  }  public void createPDF(String filename) {    // step 1    Document document = new Document(PageSize.A4);    // step 2    try {      PdfWriter.getInstance(document, new FileOutputStream(filename));      document.addTitle("ID.NET");      document.addAuthor("dotuian");      document.addSubject("This is the subject of the PDF file.");      document.addKeywords("This is the keyword of the PDF file.");      // step 3      document.open();      // step 4      PdfPTable table = createTable1();      document.add(table);            table = createTable2();      table.setSpacingBefore(5);      table.setSpacingAfter(5);      document.add(table);            table = createTable3();      document.add(table);            table = createTable4();      table.setSpacingBefore(5);      table.setSpacingAfter(5);      document.add(table);            table = createTable5();      document.add(table);            table = createTable6();      document.add(table);    } catch (FileNotFoundException e) {      e.printStackTrace();    } catch (DocumentException e) {      e.printStackTrace();    } finally {      // step 5      document.close();    }  }  /**   * Creates a table; widths are set with setWidths().   *    * @return a PdfPTable   * @throws DocumentException   */  public static PdfPTable createTable1() throws DocumentException {    PdfPTable table = new PdfPTable(3);    table.setWidthPercentage(288 / 5.23f);    table.setWidths(new int[] { 2, 1, 1 });        PdfPCell cell;    cell = new PdfPCell(new Phrase("Table 1"));    cell.setColspan(3);    table.addCell(cell);        cell = new PdfPCell(new Phrase("Cell with rowspan 2"));    cell.setRowspan(2);    table.addCell(cell);    table.addCell("row 1; cell 1");    table.addCell("row 1; cell 2");    table.addCell("row 2; cell 1");    table.addCell("row 2; cell 2");    return table;  }  /**   * Creates a table; widths are set with setWidths().   *    * @return a PdfPTable   * @throws DocumentException   */  public static PdfPTable createTable2() throws DocumentException {    PdfPTable table = new PdfPTable(3);    table.setTotalWidth(288);    table.setLockedWidth(true);    table.setWidths(new float[] { 2, 1, 1 });    PdfPCell cell;    cell = new PdfPCell(new Phrase("Table 2"));    cell.setColspan(3);    table.addCell(cell);    cell = new PdfPCell(new Phrase("Cell with rowspan 2"));    cell.setRowspan(2);    table.addCell(cell);    table.addCell("row 1; cell 1");    table.addCell("row 1; cell 2");    table.addCell("row 2; cell 1");    table.addCell("row 2; cell 2");    return table;  }  /**   * Creates a table; widths are set in the constructor.   *    * @return a PdfPTable   * @throws DocumentException   */  public static PdfPTable createTable3() throws DocumentException {    PdfPTable table = new PdfPTable(new float[] { 2, 1, 1 });    table.setWidthPercentage(55.067f);    PdfPCell cell;    cell = new PdfPCell(new Phrase("Table 3"));    cell.setColspan(3);    table.addCell(cell);    cell = new PdfPCell(new Phrase("Cell with rowspan 2"));    cell.setRowspan(2);    table.addCell(cell);    table.addCell("row 1; cell 1");    table.addCell("row 1; cell 2");    table.addCell("row 2; cell 1");    table.addCell("row 2; cell 2");    return table;  }  /**   * Creates a table; widths are set with special setWidthPercentage() method.   *    * @return a PdfPTable   * @throws DocumentException   */  public static PdfPTable createTable4() throws DocumentException {    PdfPTable table = new PdfPTable(3);    Rectangle rect = new Rectangle(523, 770);    table.setWidthPercentage(new float[] { 144, 72, 72 }, rect);    PdfPCell cell;    cell = new PdfPCell(new Phrase("Table 4"));    cell.setColspan(3);    table.addCell(cell);    cell = new PdfPCell(new Phrase("Cell with rowspan 2"));    cell.setRowspan(2);    table.addCell(cell);    table.addCell("row 1; cell 1");    table.addCell("row 1; cell 2");    table.addCell("row 2; cell 1");    table.addCell("row 2; cell 2");    return table;  }  /**   * Creates a table; widths are set with setTotalWidth().   *    * @return a PdfPTable   * @throws DocumentException   */  public static PdfPTable createTable5() throws DocumentException {    PdfPTable table = new PdfPTable(3);    table.setTotalWidth(new float[] { 144, 72, 72 });    table.setLockedWidth(true);    PdfPCell cell;    cell = new PdfPCell(new Phrase("Table 5"));    cell.setColspan(3);    table.addCell(cell);    cell = new PdfPCell(new Phrase("Cell with rowspan 2"));    cell.setRowspan(2);    table.addCell(cell);    table.addCell("row 1; cell 1");    table.addCell("row 1; cell 2");    table.addCell("row 2; cell 1");    table.addCell("row 2; cell 2");    return table;  }    public static PdfPTable createTable6() throws DocumentException{    PdfPTable table = new PdfPTable(10);    table.setTotalWidth(595);    //table.setLockedWidth(true);            PdfPCell cell;    cell = new PdfPCell(new Phrase("Table 6"));    cell.setColspan(10);    table.addCell(cell);        for (int i = 1; i < 100; i++) {      cell = new PdfPCell(new Phrase(String.valueOf(i)));      cell.setBackgroundColor(BaseColor.LIGHT_GRAY);      table.addCell(cell);    }        //    cell = new PdfPCell(new Phrase("Cell with rowspan 2"));//    cell.setRowspan(2);//    table.addCell(cell);//    table.addCell("row 1; cell 1");//    table.addCell("row 1; cell 2");//    table.addCell("row 2; cell 1");//    table.addCell("row 2; cell 2");    return table;  }    }



3.在PDF文件中添加圖片,并且指定文本位置

package console.pdf;import java.io.FileNotFoundException;import java.io.FileOutputStream;import com.itextpdf.text.Document;import com.itextpdf.text.DocumentException;import com.itextpdf.text.Image;import com.itextpdf.text.PageSize;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pdf.PdfContentByte;import com.itextpdf.text.pdf.PdfWriter;/** * 使用iText生成PDF文件 * 在PDF文件中添加背景圖片,并指定文本在PDF文件中的位置 */public class BackgroundImageOfPDF {  public static void main(String[] args) {    BackgroundImageOfPDF p001 = new BackgroundImageOfPDF();    String filename = "P003.pdf";    p001.createPDF(filename);  }  public void createPDF(String filename) {    // step 1    Document document = new Document(PageSize.A4.rotate(),0,0,0,0);    // step 2    try {      PdfWriter pdfwriter = PdfWriter.getInstance(document, new FileOutputStream(filename));            document.addTitle("ID.NET");      document.addAuthor("dotuian");       document.addSubject("This is the subject of the PDF file.");       document.addKeywords("This is the keyword of the PDF file.");            // step 3      document.open();      // step 4      Image image = Image.getInstance("bg.jpg");      document.add(image);      PdfContentByte pdfContentByte = pdfwriter.getDirectContent();      pdfContentByte.beginText();      BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN,BaseFont.WINANSI,BaseFont.EMBEDDED);      pdfContentByte.setFontAndSize(bf, 12);      for (int i = 0; i <= 842; i = i + 50) {        for (int j = 0; j <= 595; j = j + 20) {          pdfContentByte.setTextMatrix(i, j);          pdfContentByte.showText("(" + i + ":" + j + ")");        }      }            pdfContentByte.endText();          } catch (FileNotFoundException e) {      e.printStackTrace();    } catch (DocumentException e) {      e.printStackTrace();    } catch (Exception e) {      e.printStackTrace();    } finally {      // step 5      document.close();    }  }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品免费久久久久久久久| 日韩av影院在线观看| 懂色aⅴ精品一区二区三区蜜月| 欧美一区二区大胆人体摄影专业网站| 亚洲色图25p| 亚洲日韩第一页| 日韩人在线观看| 国产视频在线一区二区| 亚洲夜晚福利在线观看| 伊人男人综合视频网| 91精品国产99久久久久久| 黑人巨大精品欧美一区二区三区| 亚洲国产日韩一区| 久久精品久久久久久国产 免费| 精品高清美女精品国产区| 91久久国产婷婷一区二区| 久久久久久久影院| 久久久99久久精品女同性| 亚洲无线码在线一区观看| 欧美午夜影院在线视频| 精品久久久香蕉免费精品视频| 青草成人免费视频| 日韩一区二区精品视频| 欧美中文在线观看| 国产精品主播视频| 国产精品视频大全| 一区二区三区视频免费在线观看| 精品国产一区二区在线| 中文字幕9999| 久久久久亚洲精品国产| 精品国产区一区二区三区在线观看| 国产一区二区动漫| 国产精品美女www爽爽爽视频| 日韩av中文字幕在线播放| 亚洲欧美一区二区三区四区| 91a在线视频| 色婷婷**av毛片一区| 成人黄色av免费在线观看| 久久久久久69| 欧美成人精品xxx| 97视频免费在线观看| 国产一区二区在线播放| 国产精品69精品一区二区三区| 日韩女优人人人人射在线视频| 中文字幕日韩综合av| 欧美日韩视频在线| 久久影视电视剧免费网站清宫辞电视| 社区色欧美激情 | 国产99久久精品一区二区永久免费| 日韩在线观看免费全集电视剧网站| 欧美日韩成人精品| 色综合久久精品亚洲国产| 成人av番号网| 亚洲国产99精品国自产| 久久99视频精品| 91高潮精品免费porn| 全亚洲最色的网站在线观看| 日韩一区二区欧美| 亚洲久久久久久久久久久| 亚洲人成在线播放| 国产精品91久久久久久| 黑人精品xxx一区| 久久夜色精品国产亚洲aⅴ| 成人福利网站在线观看11| 亚洲精品久久久久国产| 欧美日本黄视频| 久久国产精品久久久久久久久久| 7777kkkk成人观看| 国产午夜精品久久久| 日韩av手机在线观看| 日韩在线免费高清视频| 国产精品三级在线| 欧美成人第一页| 51视频国产精品一区二区| 欧美高清视频一区二区| 中国日韩欧美久久久久久久久| 国产香蕉一区二区三区在线视频| 国产免费一区二区三区在线能观看| 国产精品久久久久久久久免费看| 久久在线免费视频| 91国产精品视频在线| xxav国产精品美女主播| 亚洲一区二区三区久久| 一本大道香蕉久在线播放29| 国产精品久久网| 黄色精品一区二区| 国产精品美女在线观看| 欧美日韩成人免费| 亚洲人成网站999久久久综合| 国产精品久久国产精品99gif| 国产精品999999| 国产精品夜间视频香蕉| 原创国产精品91| 91亚洲国产成人久久精品网站| 视频在线一区二区| 91干在线观看| 96sao精品视频在线观看| 欧美成人免费全部观看天天性色| 亚洲电影av在线| 日韩av电影免费观看高清| 欧美日产国产成人免费图片| 亚洲网站在线播放| 日韩大片免费观看视频播放| 在线观看国产精品淫| 91久久久久久久久| 91色琪琪电影亚洲精品久久| 欧美亚洲日本网站| 久久69精品久久久久久国产越南| 欧美视频在线观看 亚洲欧| 丝袜一区二区三区| 最新日韩中文字幕| 伊人一区二区三区久久精品| 18性欧美xxxⅹ性满足| 欧美多人乱p欧美4p久久| 亚洲精品成a人在线观看| 美女撒尿一区二区三区| 综合欧美国产视频二区| 精品亚洲夜色av98在线观看| 少妇高潮 亚洲精品| 97香蕉久久超级碰碰高清版| 欧美精品在线看| 在线精品国产欧美| 国产69精品久久久| 亚洲精品一区二三区不卡| 51ⅴ精品国产91久久久久久| 国产一区二区三区精品久久久| 成人亚洲激情网| 日韩国产在线播放| 日韩av在线直播| 日韩av在线精品| 国产在线视频一区| 日韩精品高清在线| 欧美一级黄色网| 日本欧美一二三区| 日本午夜在线亚洲.国产| 精品国产一区二区三区久久久狼| 欧美裸体xxxx极品少妇| 欧美日韩一区二区三区在线免费观看| 亚洲天堂开心观看| 亚洲影视中文字幕| 日韩av大片免费看| 亚洲国产毛片完整版| 国产日韩欧美日韩| 午夜精品久久久久久久白皮肤| 97免费视频在线播放| 亚洲无限av看| 成人激情视频小说免费下载| 在线a欧美视频| 日韩国产欧美区| 国产欧美日韩综合精品| 国产又爽又黄的激情精品视频| 欧美日韩午夜激情| 日韩欧美主播在线| 一本大道香蕉久在线播放29| 久久综合免费视频影院| 欧美成人午夜免费视在线看片| 国产精品网站大全| 中文字幕日韩免费视频| 美女性感视频久久久| 91视频免费网站| 亚洲片国产一区一级在线观看| 91手机视频在线观看| 91夜夜揉人人捏人人添红杏| 成人美女av在线直播|