iText 下载页面 : http://sourceforge.net/projects/itext/files/
1. 创建简单的 pdf 文件
pacote console.pdf; importar java.io.fileNotFoundException; importar java.io.fileOutputStream; importar com.itextpdf.text.document; importar com.itextpdf.text.documentxception; import com.itextpdf.text.pagesize; import.itextxt; .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 (nome do arquivo); } public void createpdf (string filename) {// etapa 1 documento documento = new Document (Pagesize.a4); // Etapa 2 tente {pdfwriter.getInstance (documento, new FileOutputStream (nome do arquivo)); document.addtitle ("id.net"); document.addauthor ("Dotuian"); document.addsubject ("Este é o assunto do arquivo PDF."); document.addkeywords ("Esta é a palavra -chave do arquivo PDF."); // Etapa 3 document.open (); // Etapa 4 document.add (novo parágrafo ("Hello World!")); } catch (filenotfoundException e) {e.printStackTrace (); } catch (documentException e) {e.printStackTrace (); } finalmente {// Etapa 5 document.close (); }}}
2. 在 PDF 文件中添加 Tabela
pacote console.pdf; importar java.io.fileNotfoundException; importar java.io.fileOutputStream; importar com.itextpdf.text.baseColor; importação com.itextpdf.text.document; importação com.itextpdf.text.documentException; import.text.itexxt; .text.pagesize; importar com.itextpdf.text.phrase; importar com.itextpdf.text.rectangle; importar 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) {tabelafpdf p001 = new Tableofpdf (); String filename = "p002.pdf"; p001.createpdf (nome do arquivo); } public void createpdf (string filename) {// etapa 1 documento documento = new Document (Pagesize.a4); // Etapa 2 tente {pdfwriter.getInstance (documento, new FileOutputStream (nome do arquivo)); document.addtitle ("id.net"); document.addauthor ("Dotuian"); document.addsubject ("Este é o assunto do arquivo PDF."); document.addkeywords ("Esta é a palavra -chave do arquivo PDF."); // Etapa 3 document.open (); // Etapa 4 tabela pdfptable = createTable1 (); document.add(table); table = createTable2(); table.setSpacingBefore(5); table.setSpacingAfter(5); document.add (tabela); tabela = createTable3 (); document.add (tabela); tabela = createTable4 (); tabela.SetSpacingBefore (5); tabela.SetsPacingAfter (5); document.add (tabela); tabela = createTable5 (); document.add (tabela); tabela = createTable6 (); document.add (tabela); } catch (filenotfoundException e) {e.printStackTrace (); } catch (documentException e) {e.printStackTrace (); } finalmente {// Etapa 5 document.close (); }} /*** cria uma tabela; As larguras são definidas com SetWidths (). * * @return a pdfptable * @throws documentException */ public static pdfptable createTable1 () lança documentException {tabela pdfptable = new pdfptable (3); tabela.setWidthPercentage (288 / 5.23F); table.setWidths(new int[] { 2, 1, 1 }); Célula pdfpcell; célula = novo pdfpcell (nova frase ("Tabela 1")); Cell.setColspan (3); tabela.addcell (célula); célula = novo pdfpcell (nova frase ("célula com linhas 2"); Cell.SetRowspan (2); tabela.addcell (célula); tabela.addcell ("Linha 1; célula 1"); tabela.addcell ("Linha 1; célula 2"); table.addCell("row 2; cell 1"); tabela.addcell ("Linha 2; célula 2"); tabela de retorno; } /*** cria uma tabela; As larguras são definidas com SetWidths (). * * @return a pdfptable * @throws documentException */ public static pdfptable createTable2 () lança documentException {tabela pdfptable = new pdfptable (3); tabela.setToTalWidth (288); tabela.setLockedWidth (true); tabela.setWidths (novo float [] {2, 1, 1}); PdfPCell cell; cell = new PdfPCell(new Phrase("Table 2")); cell.setColspan(3); table.addCell(cell); célula = novo pdfpcell (nova frase ("célula com linhas 2"); Cell.SetRowspan (2); tabela.addcell (célula); tabela.addcell ("Linha 1; célula 1"); tabela.addcell ("Linha 1; célula 2"); tabela.addcell ("Linha 2; célula 1"); tabela.addcell ("Linha 2; célula 2"); tabela de retorno; } /*** cria uma tabela; As larguras são definidas no construtor. * * @return a pdfptable * @throws documentException */ public static pdfptable createTable3 () lança documentException {tabela pdfptable = new pdfptable (new float [] {2, 1, 1}); tabela.setWidthPercentage (55.067f); Célula pdfpcell; célula = novo pdfpcell (nova frase ("Tabela 3")); Cell.setColspan (3); tabela.addcell (célula); célula = novo pdfpcell (nova frase ("célula com linhas 2"); Cell.SetRowspan (2); tabela.addcell (célula); tabela.addcell ("Linha 1; célula 1"); tabela.addcell ("Linha 1; célula 2"); tabela.addcell ("Linha 2; célula 1"); tabela.addcell ("Linha 2; célula 2"); tabela de retorno; } /*** cria uma tabela; As larguras são definidas com o método SetWidthPercentage () especial. * * @return a pdfptable * @throws documentException */ public static pdfptable createTable4 () lança documentException {tabela pdfptable = new pdfptable (3); Retângulo ret = novo retângulo (523, 770); tabela.setWidthPercentage (novo float [] {144, 72, 72}, rect); Célula pdfpcell; célula = novo pdfpcell (nova frase ("Tabela 4")); Cell.setColspan (3); tabela.addcell (célula); célula = novo pdfpcell (nova frase ("célula com linhas 2"); Cell.SetRowspan (2); tabela.addcell (célula); tabela.addcell ("Linha 1; célula 1"); tabela.addcell ("Linha 1; célula 2"); tabela.addcell ("Linha 2; célula 1"); tabela.addcell ("Linha 2; célula 2"); tabela de retorno; } /*** cria uma tabela; As larguras são definidas com a Lwidth (). * * @return a pdfptable * @throws documentException */ public static pdfptable createTable5 () lança documentException {tabela pdfptable = new pdfptable (3); tabela.setToTalWidth (novo float [] {144, 72, 72}); tabela.setLockedWidth (true); Célula pdfpcell; célula = novo pdfpcell (nova frase ("Tabela 5")); Cell.setColspan (3); tabela.addcell (célula); célula = novo pdfpcell (nova frase ("célula com linhas 2"); Cell.SetRowspan (2); tabela.addcell (célula); tabela.addcell ("Linha 1; célula 1"); tabela.addcell ("Linha 1; célula 2"); tabela.addcell ("Linha 2; célula 1"); tabela.addcell ("Linha 2; célula 2"); tabela de retorno; } public estático pdfptable createTable6 () lança documentException {tabela pdfptable = new pdfptable (10); tabela.setToTalWidth (595); //table.setLockedWidth(True); Célula pdfpcell; célula = novo pdfpcell (nova frase ("Tabela 6")); Cell.setColspan (10); tabela.addcell (célula); for (int i = 1; i <100; i ++) {célula = novo pdfpcell (nova frase (string.valueof (i))); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); tabela.addcell (célula); } // célula = new pdfpcell (nova frase ("célula com linhas 2")); // celular.setRowspan (2); // tabela.addcell (célula); // tabela.addcell ("linha 1; célula 1 "); // tabela.addcell (" linha 1; célula 2 "); // tabela.addcell (" linha 2; célula 1 "); // table.addcell (" linha 2; célula 2 "); tabela de retorno; }}
3. 在 pdf 文件中添加图片 , 并且指定文本位置
pacote console.pdf; importar java.io.fileNotFoundException; importar java.io.fileOutputStream; importar com.itextpdf.text.document; importar com.itextpdf.text.documentException; import com.itextpdf.text.image; import com.itextpdf; .text.pagesize; importar com.itextpdf.text.pdf.basefont; importar com.itextpdf.text.pdf.pdfcontentbyte; importar com.itextpdf.text.pdf.pdfwriter;/** ** 使用 ITEXT 生成 PDF 文件 * 在文件中添加背景图片 , 并指定文本在 pdf 文件中的位置 */classe pública AntecedentesImageofpdf {public static void main (string [] args) {backgroundImageOfpdf p001 = new BackgroundImageOfpdf (); String filename = "p003.pdf"; p001.createPDF(filename); } public void createpdf (string filename) {// etapa 1 documento documento = new Document (Pagesize.a4.rotate (), 0,0,0,0); // Etapa 2 tente {pdfwriter pdfwriter = pdfwriter.getInstance (document, new FileOutputStream (nome do arquivo)); document.addtitle ("id.net"); document.addauthor ("Dotuian"); document.addsubject ("Este é o assunto do arquivo PDF."); document.addkeywords ("Esta é a palavra -chave do arquivo PDF."); // Etapa 3 document.open (); // Etapa 4 Image Image = Image.getInstance ("BG.JPG"); document.add (imagem); PdfContentByte pdfContentByte = pdfwriter.getDirectContent (); pdfContentByte.BEGINTEXT (); BaseFont BF = BASEFONT.CREATEFONT (BASEFONT.Times_Ranom, BaseFont.winansi, BaseFont.Embedded); pdfContentByte.setFontandSize (BF, 12); para (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 (Exceção e) {e.printStackTrace (); } finalmente {// Etapa 5 document.close (); }}}