Itext 下载页面 : http://sourceforge.net/projects/itext/files/
1. 创建简单的 PDF 文件
paquete console.pdf; import java.io.filenotfoundexception; import java.io.fileOutputStream; import com.itextpdf.text.document; import .Text.Paragraph; import com.itextpdf.text.pdf.pdfwriter;/** * 使用 itext 生成 pdf 文件 */public Cadena filename = "p001.pdf"; P001.CreatePDF (nombre de archivo); } public void CreatePDF (String FileName) {// Paso 1 Documento Documento = nuevo documento (PageSize.a4); // Paso 2 intenta {pdfwriter.getInstance (documento, nuevo fileOutputStream (nombre de archivo)); document.addtitle ("id.net"); document.addauthor ("dotuian"); document.addsubject ("Este es el tema del archivo PDF"); document.addkeywords ("Esta es la palabra clave del archivo pdf"); // paso 3 document.open (); // Paso 4 document.add (nuevo párrafo ("¡Hola mundo!")); } catch (FileNotFoundException e) {E.PrintStackTrace (); } catch (DocumentException e) {E.PrintStackTrace (); } Finalmente {// paso 5 document.close (); }}}
2. 在 pdf 文件中添加 tabla
paquete 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 (); Cadena filename = "p002.pdf"; P001.CreatePDF (nombre de archivo); } public void CreatePDF (String FileName) {// Paso 1 Documento Documento = nuevo documento (PageSize.a4); // Paso 2 intenta {pdfwriter.getInstance (documento, nuevo fileOutputStream (nombre de archivo)); document.addtitle ("id.net"); document.addauthor ("dotuian"); document.addsubject ("Este es el tema del archivo PDF"); document.addkeywords ("Esta es la palabra clave del archivo pdf"); // paso 3 document.open (); // Paso 4 pdfppTable table = createTable1 (); document.add (tabla); tabla = createTable2 (); tabla.setspacingbefore (5); tabla.setspacingingfter (5); document.add (tabla); tabla = createTable3 (); document.add (tabla); tabla = createTable4 (); tabla.setspacingbefore (5); tabla.setspacingingfter (5); document.add (tabla); tabla = createTable5 (); document.add (tabla); tabla = createTable6 (); document.add (tabla); } catch (FileNotFoundException e) {E.PrintStackTrace (); } catch (DocumentException e) {E.PrintStackTrace (); } Finalmente {// paso 5 document.close (); }} /*** Crea una tabla; Los anchos se establecen con setwidths (). * * @return A pdfpTable * @throws documentException */ public static pdfpTable createTable1 () lanza documentException {pdfpTable table = new PdfpTable (3); table.setwidthpercentage (288 / 5.23f); table.setWidths (new int [] {2, 1, 1}); Célula PDFPCell; celular = nueva PDFPCELL (nueva frase ("Tabla 1")); Cell.SetColSpan (3); table.addcell (celda); celda = nueva PDFPCELL (nueva frase ("Celular con ROWSPAN 2")); Cell.SetrowsPan (2); table.addcell (celda); table.addcell ("fila 1; celda 1"); table.addcell ("fila 1; celda 2"); table.addcell ("fila 2; celda 1"); table.addcell ("fila 2; celda 2"); tabla de retorno; } /*** crea una tabla; Los anchos se establecen con setwidths (). * * @return A pdfpTable * @throws documentException */ public static pdfpTable createTable2 () lanza DocumentException {pdfpTable table = new PdfpTable (3); Tabla. SettotalWidth (288); TABLE.SETLOCLUDWIDTH (verdadero); table.setWidths (new Float [] {2, 1, 1}); Célula PDFPCell; celular = nueva PDFPCell (nueva frase ("Tabla 2")); Cell.SetColSpan (3); table.addcell (celda); celda = nueva PDFPCELL (nueva frase ("Celular con ROWSPAN 2")); Cell.SetrowsPan (2); table.addcell (celda); table.addcell ("fila 1; celda 1"); table.addcell ("fila 1; celda 2"); table.addcell ("fila 2; celda 1"); table.addcell ("fila 2; celda 2"); tabla de retorno; } /*** crea una tabla; Los anchos se establecen en el constructor. * * @return a pdfpTable * @throws documentException */ public static pdfpTable createTable3 () lanza documentException {pdfpptable table = new PdfpTable (new Float [] {2, 1, 1}); table.setwidthpercentage (55.067f); Célula PDFPCell; celular = nueva PDFPCELL (nueva frase ("Tabla 3")); Cell.SetColSpan (3); table.addcell (celda); celda = nueva PDFPCELL (nueva frase ("Celular con ROWSPAN 2")); Cell.SetrowsPan (2); table.addcell (celda); table.addcell ("fila 1; celda 1"); table.addcell ("fila 1; celda 2"); table.addcell ("fila 2; celda 1"); table.addcell ("fila 2; celda 2"); tabla de retorno; } /*** crea una tabla; Los anchos se establecen con método especial setwidthpercentage (). * * @return A pdfpTable * @throws documentException */ public static pdfpTable createTable4 () lanza DocumentException {pdfpTable table = new PdfpTable (3); Rectángulo rect = nuevo rectángulo (523, 770); table.setwidthpercentage (new float [] {144, 72, 72}, rect); Célula PDFPCell; celular = nueva PDFPCell (nueva frase ("Tabla 4")); Cell.SetColSpan (3); table.addcell (celda); celda = nueva PDFPCELL (nueva frase ("Celular con ROWSPAN 2")); Cell.SetrowsPan (2); table.addcell (celda); table.addcell ("fila 1; celda 1"); table.addcell ("fila 1; celda 2"); table.addcell ("fila 2; celda 1"); table.addcell ("fila 2; celda 2"); tabla de retorno; } /*** crea una tabla; Los anchos se establecen con settotalwidth (). * * @return a pdfpTable * @throws documentException */ public static pdfpTable createTable5 () lanza documentException {pdfpTable table = new PdfpTable (3); table.settotalwidth (nuevo flotador [] {144, 72, 72}); TABLE.SETLOCLUDWIDTH (verdadero); Célula PDFPCell; celular = nueva PDFPCell (nueva frase ("Tabla 5")); Cell.SetColSpan (3); table.addcell (celda); celda = nueva PDFPCELL (nueva frase ("Celular con ROWSPAN 2")); Cell.SetrowsPan (2); table.addcell (celda); table.addcell ("fila 1; celda 1"); table.addcell ("fila 1; celda 2"); table.addcell ("fila 2; celda 1"); table.addcell ("fila 2; celda 2"); tabla de retorno; } public static pdfpTable createTable6 () lanza DocumentException {pdfpTable table = new PDFPTable (10); Tabla. SettotalWidth (595); //table.setLockedWidth(true); Célula PDFPCell; celular = nueva PDFPCell (nueva frase ("Tabla 6")); Cell.SetColSpan (10); table.addcell (celda); para (int i = 1; i <100; i ++) {celular = nuevo PDFPCell (nueva frase (String.ValueOf (i))); Cell.SetBackgroundColor (basecolor.light_gray); table.addcell (celda); } // celda = nueva PDFPCELL (nueva frase ("Celular con ROWSPAN 2")); // Cell.SetrowsPan (2); // table.addcell (celda); // table.addcell ("fila 1; celda 1; "); // table.addcell (" fila 1; celda 2 "); // table.addcell (" fila 2; celda 1 "); // table.addcell (" fila 2; celda 2 "); tabla de retorno; }}
3. 在 PDF 文件中添加图片 并且指定文本位置 并且指定文本位置
paquete console.pdf; import java.io.filenotfoundexception; import java.io.fileOutputStream; import com.itextpdf.text.document; import .Text.pagesize; import com.itextpdf.text.pdf.baseFont; import com.itextpdf.text.pdf.pdfcontentbyte; import com.itextpdf.text.pdf.pdfwriter;/** * 使用 使用 生成 pdf 文件 * 在 pdf文件中添加背景图片 , 并指定文本在 并指定文本在 PDF 文件中的位置 */public Class BackgroundImageOfPdf {public static void main (String [] args) {backgroundImageOfpdf p001 = new BackgroundImageOfpdf (); Cadena filename = "p003.pdf"; P001.CreatePDF (nombre de archivo); } public void CreatePDF (String FileName) {// Paso 1 Documento Documento = nuevo documento (PageSize.a4.Rotate (), 0,0,0,0); // Paso 2 Pruebe {PDFWriter pdfwriter = pdfwriter.getInstance (documento, nuevo fileOutputStream (nombre de archivo)); document.addtitle ("id.net"); document.addauthor ("dotuian"); document.addsubject ("Este es el tema del archivo PDF"); document.addkeywords ("Esta es la palabra clave del archivo pdf"); // paso 3 document.open (); // Paso 4 Imagen Image = Image.getInstance ("Bg.jpg"); document.add (imagen); PDFContentByte PDFContentByte = PDFWriter.getDirectContent (); pdfcontentbyte.beGintext (); Basefont bf = Basefont.CreateFont (Basefont.Times_Roman, Basefont.Winansi, Basefont.Embedded); pdfcontentbyte.setFont ySize (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 (); } Finalmente {// paso 5 document.close (); }}}