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 clestepdf {public static void main (string [] args) {createpdf p001 = new CreatePdf (); 문자열 filename = "p001.pdf"; p001.createpdf (filename); } public void createPDF (String filename) {// 1 단계 문서 = 새 문서 (pagesize.a4); // 2 단계 try {pdfwriter.getInstance (문서, 새 FileOutputStream (filename)); document.addtitle ( "id.net"); document.addauthor ( "dotuian"); document.addsUbject ( "이것은 PDF 파일의 주제입니다."); document.addkeywords ( "이것은 PDF 파일의 키워드입니다."); // 3 단계 document.open (); // 4 단계 문서. Add (새 단락 ( "Hello World!")); } catch (filenotfoundException e) {e.printstacktrace (); } catch (DocumentException e) {e.printstacktrace (); } 마지막으로 {// 5 단계 document.close (); }}}
2. PDF 在 테이블
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 (); 문자열 filename = "p002.pdf"; p001.createpdf (filename); } public void createPDF (String filename) {// 1 단계 문서 = 새 문서 (pagesize.a4); // 2 단계 try {pdfwriter.getInstance (문서, 새 FileOutputStream (filename)); document.addtitle ( "id.net"); document.addauthor ( "dotuian"); document.addsUbject ( "이것은 PDF 파일의 주제입니다."); document.addkeywords ( "이것은 PDF 파일의 키워드입니다."); // 3 단계 document.open (); // 4 단계 pdfptable 테이블 = createTable1 (); document.add (표); 테이블 = createTable2 (); Table.SetSpacingBefeFore (5); 테이블 .SetSpacingAfter (5); document.add (표); 테이블 = createTable3 (); document.add (표); 테이블 = createTable4 (); Table.SetSpacingBefeFore (5); 테이블 .SetSpacingAfter (5); document.add (표); 테이블 = createTable5 (); document.add (표); 테이블 = createTable6 (); document.add (표); } catch (filenotfoundException e) {e.printstacktrace (); } catch (DocumentException e) {e.printstacktrace (); } 마지막으로 {// 5 단계 document.close (); }} /*** 테이블을 만듭니다. 너비는 setwidths ()로 설정됩니다. * * @return a pdfptable * @throws documentException */ public static pdfptable createTable1 () DocumentException {pdfptable table = new pdfptable (3); table.setwidthpercentage (288 / 5.23f); table.setwidths (new int [] {2, 1, 1}); pdfpcell 세포; cell = new pdfpcell (새로운 문구 ( "표 1")); cell.setcolspan (3); 테이블 .addcell (셀); cell = new pdfpcell (새로운 문구 ( "Rowspan 2")); cell.setrowspan (2); 테이블 .addcell (셀); 테이블 .addcell ( "행 1; 셀 1"); 테이블 .addcell ( "행 1; 셀 2"); 테이블 .addcell ( "행 2; 셀 1"); 테이블 .addcell ( "행 2; 셀 2"); 리턴 테이블; } /*** 테이블을 만듭니다. 너비는 setwidths ()로 설정됩니다. * * @return a pdfptable * @throws documentException */ public static pdfptable createTable2 () DocumentException {pdfptable table = new pdfptable (3); Table.SetTotalWidth (288); table.setLockedWidth (true); table.setwidths (new float [] {2, 1, 1}); pdfpcell 세포; cell = new pdfpcell (새로운 문구 ( "표 2")); cell.setcolspan (3); 테이블 .addcell (셀); cell = new pdfpcell (새로운 문구 ( "Rowspan 2")); cell.setrowspan (2); 테이블 .addcell (셀); 테이블 .addcell ( "행 1; 셀 1"); 테이블 .addcell ( "행 1; 셀 2"); 테이블 .addcell ( "행 2; 셀 1"); 테이블 .addcell ( "행 2; 셀 2"); 리턴 테이블; } /*** 테이블을 만듭니다. 너비는 생성자에 설정됩니다. * * @pdfptable * @throws documentException */ public static pdfptable createTable3 () DocumentException {pdfptable table = new pdfptable (new float [] {2, 1, 1}); table.setwidthpercentage (55.067f); pdfpcell 세포; cell = new pdfpcell (새로운 문구 ( "표 3")); cell.setcolspan (3); 테이블 .addcell (셀); cell = new pdfpcell (새로운 문구 ( "Rowspan 2")); cell.setrowspan (2); 테이블 .addcell (셀); 테이블 .addcell ( "행 1; 셀 1"); 테이블 .addcell ( "행 1; 셀 2"); 테이블 .addcell ( "행 2; 셀 1"); 테이블 .addcell ( "행 2; 셀 2"); 리턴 테이블; } /*** 테이블을 만듭니다. 너비는 특수 setWidThperCentage () 메소드로 설정됩니다. * * @return a pdfptable * @throws documentException */ public static pdfptable createTable4 () DocumentException {pdfptable table = new pdfptable (3); 사각형 rect = 새로운 사각형 (523, 770); table.setwidthpercentage (new float [] {144, 72, 72}, rect); pdfpcell 세포; cell = new pdfpcell (새로운 문구 ( "표 4")); cell.setcolspan (3); 테이블 .addcell (셀); cell = new pdfpcell (새로운 문구 ( "Rowspan 2")); cell.setrowspan (2); 테이블 .addcell (셀); 테이블 .addcell ( "행 1; 셀 1"); 테이블 .addcell ( "행 1; 셀 2"); 테이블 .addcell ( "행 2; 셀 1"); 테이블 .addcell ( "행 2; 셀 2"); 리턴 테이블; } /*** 테이블을 만듭니다. 너비는 settotalWidth ()로 설정됩니다. * * @return a pdfptable * @throws documentException */ public static pdfptable createTable5 () DocumentException {pdfptable table = new Pdfptable (3); table.setTotalWidth (new float [] {144, 72, 72}); table.setLockedWidth (true); pdfpcell 세포; cell = new pdfpcell (새로운 문구 ( "표 5")); cell.setcolspan (3); 테이블 .addcell (셀); cell = new pdfpcell (새로운 문구 ( "Rowspan 2")); cell.setrowspan (2); 테이블 .addcell (셀); 테이블 .addcell ( "행 1; 셀 1"); 테이블 .addcell ( "행 1; 셀 2"); 테이블 .addcell ( "행 2; 셀 1"); 테이블 .addcell ( "행 2; 셀 2"); 리턴 테이블; } public static pdfptable createTable6 () DocumentException {pdfptable table = new pdfptable (10); Table.SetTotalWidth (595); //table.setLockedWidth(true); pdfpcell 세포; cell = new pdfpcell (새로운 문구 ( "표 6")); cell.setcolspan (10); 테이블 .addcell (셀); for (int i = 1; i <100; i ++) {cell = new pdfpcell (new prase (string.valueof (i))); cell.setbackgroundcolor (basecolor.light_gray); 테이블 .addcell (셀); } // cell = new pdfpcell (new prase ( "셀 2"); // cell.setrowspan (2); // table.addcell (cell); // table.addcell ( "행 1; 셀 1 "); // table.addcell ("행 1; 셀 2 "); // table.addcell ("행 2; 셀 1 "); // table.addcell ("행 2; 셀 2 "); 리턴 테이블; }}
3. 文件中添加图片 pdf 在, 并且指定文本位置
Package Console.pdf; import java.io.fileNotFoundException; import java.io.fileoutputStream; 가져 오기 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 (); 문자열 filename = "p003.pdf"; p001.createpdf (filename); } public void createPDF (String filename) {// 1 단계 문서 문서 = 새 문서 (pagesize.a4.rotate (), 0,0,0,0); // 2 단계 try {pdfwriter pdfwriter = pdfwriter.getInstance (문서, 새 FileOutputStream (filename)); document.addtitle ( "id.net"); document.addauthor ( "dotuian"); document.addsUbject ( "이것은 PDF 파일의 주제입니다."); document.addkeywords ( "이것은 PDF 파일의 키워드입니다."); // 3 단계 document.open (); // 4 단계 이미지 이미지 = image.getInstance ( "bg.jpg"); document.add (이미지); 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 (예외 e) {e.printstacktrace (); } 마지막으로 {// 5 단계 document.close (); }}}