List of usage examples for com.itextpdf.text.pdf PdfPTable addCell
public void addCell(final Phrase phrase)
From source file:com.example.admin.avoidq.billGenerated.java
private void generatePDF(final String personName) { new Thread(new Runnable() { public void run() { // a potentially time consuming task //create a new document Document document = new Document(); try { PdfWriter docWriter = PdfWriter.getInstance(document, new FileOutputStream(pdfFile)); document.open();/*from w w w.ja va2 s.c o m*/ PdfContentByte cb = docWriter.getDirectContent(); //initialize fonts for text printing initializeFonts(); //the company logo is stored in the assets which is read only //get the logo and print on the document /* try { bitmap11 = encodeAsBitmap(barcode_data, BarcodeFormat.CODE_128, 600, 300); iv.setImageBitmap(bitmap11); } catch (WriterException e) { e.printStackTrace(); } * */ InputStream inputStream = getAssets().open("sale.png"); Bitmap bmp = null;//BitmapFactory.decodeStream(inputStream); bmp = bitmap11; ByteArrayOutputStream stream = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); Image companyLogo = Image.getInstance(stream.toByteArray()); companyLogo.setAbsolutePosition(25, 700); companyLogo.scalePercent(65); document.add(companyLogo); Calendar calendar = Calendar.getInstance(); SimpleDateFormat df1 = new SimpleDateFormat("dd-MM-yyyy"); String formattedDate = df1.format(calendar.getTime()); //creating a sample invoice with some customer data createHeadings(cb, 400, 780, "Date :"); createHeadings(cb, 430, 780, formattedDate); String fname = customer.getName(); String lname = customer.getSurname(); createHeadings(cb, 400, 765, "Customer :"); createHeadings(cb, 445, 765, fname + " " + lname); String mob = customer.getMobile_no(); createHeadings(cb, 400, 750, "Mobile No :"); createHeadings(cb, 445, 750, mob); createHeadings(cb, 400, 735, "Shop :"); createHeadings(cb, 430, 735, "Empress Mall"); createHeadings(cb, 400, 720, "City :"); createHeadings(cb, 430, 720, "Nagpur"); // createHeadings(cb,400,720,"Country"); //list all the products sold to the customer float[] columnWidths = { 1.5f, 3f, 2.5f, 2.5f, 2f, 2f }; //create PDF table with the given widths PdfPTable table = new PdfPTable(columnWidths); // set table width a percentage of the page width table.setTotalWidth(500f); PdfPCell cell = new PdfPCell(new Phrase("S.NO")); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); cell = new PdfPCell(new Phrase("Item Name")); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); cell = new PdfPCell(new Phrase("Price")); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); cell = new PdfPCell(new Phrase("Quantity")); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); cell = new PdfPCell(new Phrase("Discount")); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); cell = new PdfPCell(new Phrase("Amount")); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); table.setHeaderRows(1); /*DecimalFormat df = new DecimalFormat("0.000"); for(int i=0; i < 10; i++ ){ double price = Double.valueOf(df.format(Math.random() * 10)); double extPrice = price * (i+1) ; table.addCell(String.valueOf(i+1)); table.addCell("ITEM" + String.valueOf(i+1)); table.addCell(String.valueOf(5*i)); table.addCell(String.valueOf(1)); table.addCell(String.valueOf(i)+ " %"); table.addCell(df.format(extPrice)); }*/ int sr = 0; DecimalFormat df = new DecimalFormat("0.0"); double total_price = 0; //Log.i("c0","c0 = "+carts[0].getItemname()+" "+String.valueOf(carts[0].getPrice())); // Log.i("c1","c1 = "+carts[1].getItemname()+" "+String.valueOf(carts[1].getPrice())); for (Cart cd : carts) { Log.i("cartscheck", "carts check = " + cd.getBarcode() + " " + cd.getItemname() + " " + String.valueOf(cd.getPrice())); } for (Cart c : carts) { double price = c.getPrice(); int quantity = c.getQuantity(); price = (price / quantity); double discont = c.getDiscount(); sr++; table.addCell(String.valueOf(sr)); table.addCell(c.getItemname()); table.addCell(df.format(price)); table.addCell(String.valueOf(quantity)); table.addCell(df.format(discont) + " %"); double total = (price * quantity); total_price = total_price + total; Log.i("total", "total in for loop = " + String.valueOf(total)); table.addCell(df.format(total)); } float headerHeight = table.getHeaderHeight(); Log.i("headerHeight", String.valueOf(headerHeight)); //absolute location to print the PDF table from table.writeSelectedRows(0, -1, document.leftMargin(), 650, docWriter.getDirectContent()); float total_height = table.getTotalHeight(); Log.i("total_height", String.valueOf(total_height)); createHeadings(cb, 420, 750f - 125f - total_height, "Total Price = "); createHeadings(cb, 475, 750f - 125f - total_height, String.valueOf(total_price)); //print the signature image along with the persons name inputStream = getAssets().open("user.png"); bmp = BitmapFactory.decodeStream(inputStream); stream = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); Image signature = Image.getInstance(stream.toByteArray()); signature.setAbsolutePosition(400f, 750f - 125f - total_height - 60f); signature.scalePercent(35f); document.add(signature); createHeadings(cb, 450, 750f - 125f - total_height - 80f, fname + " " + lname); document.close(); } catch (Exception e) { e.printStackTrace(); } //PDF file is now ready to be sent to the bluetooth printer using PrintShare Intent i = new Intent(Intent.ACTION_VIEW); // i.setPackage("com.dynamixsoftware.printershare"); i.setDataAndType(Uri.fromFile(pdfFile), "application/pdf"); startActivity(i); } }).start(); }
From source file:com.example.drivequickstart.PDFActivity.java
private void createTable(Section subCatPart) throws BadElementException { PdfPTable table = new PdfPTable(3); // t.setBorderColor(BaseColor.GRAY); // t.setPadding(4); // t.setSpacing(4); // t.setBorderWidth(1); PdfPCell c1 = new PdfPCell(new Phrase("Job Name:")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); c1 = new PdfPCell(new Phrase("Test 001")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1);// w w w . ja va2 s . co m c1 = new PdfPCell(new Phrase("")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); table.setHeaderRows(1); table.addCell("Date:"); table.addCell("1.1"); table.addCell(""); table.addCell("Labor Rate:"); table.addCell("2.2"); table.addCell(""); table.addCell("Labor Cost:"); table.addCell("3.2"); table.addCell("3.3"); subCatPart.add(table); }
From source file:com.example.pdfcreate.MainActivity.java
private static void createTable(Section subCatPart) throws BadElementException { PdfPTable table = new PdfPTable(3); // t.setBorderColor(BaseColor.GRAY); // t.setPadding(4); // t.setSpacing(4); // t.setBorderWidth(1); PdfPCell c1 = new PdfPCell(new Phrase("Job Name:")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); c1 = new PdfPCell(new Phrase("Test 001")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1);//w ww.j a va 2s .c o m c1 = new PdfPCell(new Phrase("")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); table.setHeaderRows(1); table.addCell("Date:"); table.addCell("1.1"); table.addCell(""); table.addCell("Labor Rate:"); table.addCell("2.2"); table.addCell(""); table.addCell("Labor Cost:"); table.addCell("3.2"); table.addCell("3.3"); //subCatPart.add(table); }
From source file:com.farouk.projectapp.ManagerGUI.java
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed String pdfName = JOptionPane.showInputDialog(rootPane, "Enter Title", "Please enter a title", WIDTH); if (pdfName.isEmpty()) { pdfName = "Global Report"; }/*www.j a v a 2 s . com*/ Document document = new Document(); int numEMployees = 1; try { PdfWriter.getInstance(document, new FileOutputStream(pdfName + ".pdf")); document.open(); document.addAuthor("TeamPirates"); document.addTitle("Global Report"); Font font1 = new Font(Font.FontFamily.TIMES_ROMAN, 20, Font.BOLD); Font font2 = new Font(Font.FontFamily.TIMES_ROMAN, 15, Font.UNDERLINE); for (User u : SQLConnectMana.getEmployeesFromDb()) { JTable jTableTran = new JTable(); JTable jTableReport = new JTable(); Chapter chapter = new Chapter( new Paragraph(new Phrase("Employee : " + u.getLogin() + "\n\n", font1)), numEMployees); Section section1 = chapter.addSection(new Paragraph(new Phrase("Recent Transactions :\n", font2)), 9); Section section2 = chapter.addSection(new Paragraph(new Phrase("Reported Companies :\n", font2)), 9); // Transactions : DefaultTableModel modelPDFtrans = new DefaultTableModel(); modelPDFtrans.setColumnIdentifiers( new String[] { "Name", "Operation", "Quantity", "Price Paid", "Date" }); for (Transaction t : SQLConnectMana.getTransactions(u.getId())) { modelPDFtrans.addRow(new String[] { t.getSymbol(), t.getOperation(), Integer.toString(t.getQuantity()), Double.toString(t.getPricePaid()), t.getDate() }); } jTableTran.setModel(modelPDFtrans); PdfPTable pdfTableTrans = new PdfPTable(jTableTran.getColumnCount()); for (int i = 0; i < jTableTran.getColumnCount(); i++) { pdfTableTrans.addCell(jTableTran.getColumnName(i)); } //extracting data from the JTable and inserting it to PdfPTable for (int rows = 0; rows < jTableTran.getRowCount(); rows++) { for (int cols = 0; cols < jTableTran.getColumnCount(); cols++) { pdfTableTrans.addCell(jTableTran.getModel().getValueAt(rows, cols).toString()); } } Paragraph blank = new Paragraph("\n\n"); section1.add(blank); section1.add(pdfTableTrans); section1.add(blank); //Reported Companies : DefaultTableModel modelPDFReported = new DefaultTableModel(); modelPDFReported.setColumnIdentifiers( new String[] { "Name", "Symbol", "Stock Price ()", "Quantity Bought" }); for (Company c : SQLConnectMana.getNameOfReported(u.getId())) { modelPDFReported.addRow(new String[] { c.getName(), c.getSymbol(), String.valueOf(c.getStockPrice().doubleValue()), Integer.toString(c.getNumberOwned()) }); } jTableReport.setModel(modelPDFReported); PdfPTable pdfTableReport = new PdfPTable(jTableReport.getColumnCount()); for (int i = 0; i < jTableReport.getColumnCount(); i++) { pdfTableReport.addCell(jTableReport.getColumnName(i)); } //extracting data from the JTable and inserting it to PdfPTable for (int rows = 0; rows < jTableReport.getRowCount(); rows++) { for (int cols = 0; cols < jTableReport.getColumnCount(); cols++) { pdfTableReport.addCell(jTableReport.getModel().getValueAt(rows, cols).toString()); } } section2.add(blank); section2.add(pdfTableReport); section2.add(blank); //End of doc for a single employee document.add(chapter); numEMployees++; } Chapter ban = new Chapter(new Paragraph(new Phrase("Prohibited Companies :\n\n", font1)), ++numEMployees); com.itextpdf.text.List bannedCompanies = new List(List.ORDERED); for (String lii : SQLConnectMana.getBannedCompForAll()) { bannedCompanies.add(new com.itextpdf.text.ListItem(lii)); } ban.add(bannedCompanies); document.add(ban); document.close(); } catch (DocumentException | FileNotFoundException e) { System.err.println("Sorry Problem in pdf.\n" + e); } }
From source file:com.ftt.gui.FrameFormation.java
private void pdf1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pdf1ActionPerformed if (nomf.getText() == null || descriptionf.getText() == null || "".equals(lieux.getText()) || dateclot.getDate() == null || dateov.getDate() == null) { JOptionPane.showMessageDialog(this, "Vrifier les champs !"); } else {/*from w ww . j a v a 2 s . c o m*/ SimpleDateFormat formateur = new SimpleDateFormat("dd-MM-yyyy"); String val1 = lieux.getText(); String val2 = formateur.format(dateov.getDate()); String val3 = formateur.format(dateclot.getDate()); String val4 = combocible.getSelectedItem().toString(); String val5 = nomf.getText(); String val6 = descriptionf.getText(); Document document = new Document(); try { PdfWriter.getInstance(document, new FileOutputStream("rapport.pdf")); document.open(); com.itextpdf.text.Image image = com.itextpdf.text.Image.getInstance("ftt.png"); document.add(image); document.add(new Paragraph("Liste des formations", FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.BOLD))); document.add(new Paragraph(formateur.format(new Date()))); String val322 = formateur.format(new Date()); document.add(new Paragraph(" ")); PdfPTable table = new PdfPTable(2); PdfPCell cell = new PdfPCell(new Paragraph("formations")); cell.setColspan(4); cell.setHorizontalAlignment(com.itextpdf.text.Element.ALIGN_CENTER); cell.setBackgroundColor(BaseColor.BLUE); table.addCell(cell); table.addCell("Nom formation"); table.addCell(val5); table.addCell(cell); table.addCell("Description"); table.addCell(val6); table.addCell(cell); table.addCell("Lieux"); table.addCell(val1); table.addCell("Date d'ouverture"); table.addCell(val2); table.addCell("Date de cloture"); table.addCell(val3); table.addCell("Cible"); table.addCell(val4); document.add(table); document.add(new Paragraph(" ")); document.add(new Paragraph(" ")); document.add(new Paragraph("Responsable des formations")); document.add(new Paragraph("Federation Tunisenne de Tennis")); document.close(); JOptionPane.showMessageDialog(null, "Rapport Enregistrer"); } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } } }
From source file:com.ftt.gui.FrameFormation.java
private void pdf2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pdf2ActionPerformed FormationDAO fd = new FormationDAO(); ArrayList<Formation> formations = (ArrayList<Formation>) fd.select(); SimpleDateFormat formateur = new SimpleDateFormat("dd-MM-yyyy"); Document document = new Document(); try {/* www . jav a2s .c om*/ PdfWriter.getInstance(document, new FileOutputStream("rapport_formations.pdf")); document.open(); com.itextpdf.text.Image image = com.itextpdf.text.Image.getInstance("ftt.png"); document.add(image); document.add(new Paragraph("Liste des formations", FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.BOLD))); document.add(new Paragraph(" ")); document.add(new Paragraph(" ")); for (int i = 0; i < formations.size(); i++) { document.add(new Paragraph(" ")); int val = formations.get(i).getId(); String val1 = formations.get(i).getLieux(); String val2 = formations.get(i).getDateOuverture(); String val3 = formations.get(i).getDateCloture(); String val4 = formations.get(i).getCible(); String val5 = formations.get(i).getNom(); String val6 = formations.get(i).getDescription(); PdfPTable table = new PdfPTable(2); PdfPCell cell = new PdfPCell(new Paragraph("formation " + val)); cell.setColspan(4); cell.setHorizontalAlignment(com.itextpdf.text.Element.ALIGN_CENTER); cell.setBackgroundColor(BaseColor.GRAY); table.addCell(cell); table.addCell("Nom formation"); table.addCell(val5); table.addCell("Description"); table.addCell(val6); table.addCell("Lieux"); table.addCell(val1); table.addCell("Date d'ouverture"); table.addCell(val2); table.addCell("Date de cloture"); table.addCell(val3); table.addCell("Cible"); table.addCell(val4); document.add(table); } document.add(new Paragraph(" ")); document.add(new Paragraph(" ")); document.add(new Paragraph("Responsable des formations")); document.add(new Paragraph("Federation Tunisenne de Tennis")); document.close(); JOptionPane.showMessageDialog(null, "Rapport Enregistrer"); } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } }
From source file:com.ftt.gui.FrameJoueur.java
private void pdf2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pdf2ActionPerformed JoueurDAO fd = new JoueurDAO(); ArrayList<Joueur> joueurs = (ArrayList<Joueur>) fd.select_trie_par_club(); SimpleDateFormat formateur = new SimpleDateFormat("dd-MM-yyyy"); Document document = new Document(); try {/*from w w w. j a v a 2s.com*/ PdfWriter.getInstance(document, new FileOutputStream("rapport_joueurs.pdf")); document.open(); com.itextpdf.text.Image image = com.itextpdf.text.Image.getInstance("ftt.png"); document.add(image); document.add(new Paragraph("Liste des joueurs", FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.BOLD))); document.add(new Paragraph(" ")); for (int i = 0; i < joueurs.size(); i++) { document.add(new Paragraph(" ")); document.add(new Paragraph(joueurs.get(i).getNom_club())); document.add(new Paragraph(" ")); Integer val = joueurs.get(i).getId(); String val1 = joueurs.get(i).getNomJoueur(); String val2 = joueurs.get(i).getPrenomJoueur(); String val3 = joueurs.get(i).getDateNaissance(); String val4 = joueurs.get(i).getCarriere(); String val5 = joueurs.get(i).getSexe(); Integer val6 = joueurs.get(i).getPoints(); PdfPTable table = new PdfPTable(2); PdfPCell cell = new PdfPCell(new Paragraph("Joueur id: " + val)); cell.setColspan(4); cell.setHorizontalAlignment(com.itextpdf.text.Element.ALIGN_LEFT); cell.setBackgroundColor(BaseColor.GRAY); table.addCell(cell); table.addCell("Nom"); table.addCell(val1); table.addCell("Prenom"); table.addCell(val2); table.addCell("Date de naissance"); table.addCell(val3); table.addCell("Carriere"); table.addCell(val4); table.addCell("sexe"); table.addCell(val5); table.addCell("points"); table.addCell(val6.toString()); document.add(table); } document.add(new Paragraph(" ")); document.add(new Paragraph(" ")); document.add(new Paragraph("Federation Tunisenne de Tennis")); document.close(); JOptionPane.showMessageDialog(null, "Rapport Enregistrer"); } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } }
From source file:com.gadroves.gsisinve.controller.FacturarController.java
private void createItemsTable(Document doc, TbFacturaVenta facturaVenta) throws DocumentException { PdfPTable table = new PdfPTable(4); PdfPCell c1 = new PdfPCell(new Phrase("Descripcion")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); c1 = new PdfPCell(new Phrase("Cantidad")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1);//from w ww . java2 s.c o m c1 = new PdfPCell(new Phrase("Precio Unitario")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); c1 = new PdfPCell(new Phrase("Valor")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1); //table.setHeaderRows(1); PdfPCell desc; PdfPCell cant; PdfPCell pu; PdfPCell val; for (TbLineaFac lineaFac : facturaVenta.getTbLineaFacsById()) { desc = new PdfPCell(new Phrase(lineaFac.getDescripcion())); cant = new PdfPCell(new Phrase(String.valueOf(lineaFac.getQuant()))); pu = new PdfPCell(new Phrase(String.valueOf(lineaFac.getP_unitario()))); val = new PdfPCell(new Phrase(String.valueOf(lineaFac.getTotal()))); table.addCell(desc); table.addCell(cant); table.addCell(pu); table.addCell(val); } float[] columnWidths = new float[] { 40f, 10f, 10f, 10f }; table.setWidths(columnWidths); doc.add(table); }
From source file:com.github.luischavez.levsym.modulos.funcion.PDF.java
License:Open Source License
public void GeneraPDF(ResultSet Resultados) throws Exception { ResultSetMetaData metaData = Resultados.getMetaData(); Object[] Columnas = new Object[metaData.getColumnCount()]; String encabezado = "Reportes del Sistema Administrativo" + "\n" + "REGISTROS ACTUALES EN AL BASE DE DATOS" + "\n" + "\n" + "\n" + "\n" + "\n" + "\n" + "\n"; Calendar c = Calendar.getInstance(); String date = Integer.toString(c.get(Calendar.DAY_OF_MONTH)) + "-" + Integer.toString(c.get(Calendar.MONTH)) + "-" + Integer.toString(c.get(Calendar.YEAR)) + " " + Integer.toString(c.get(Calendar.HOUR_OF_DAY)) + "-" + Integer.toString(c.get(Calendar.MINUTE)) + "-" + Integer.toString(c.get(Calendar.SECOND)); Font fuente = new Font(Font.getFamily("ARIAL"), 12, Font.BOLD); String choro = "Reporte por fecha de los modulos\n" + "de catalogo" + "\n" + "Systema Administrativo" + "\n" + "\n" + "\n" + "\n"; Image imagen = Image.getInstance(System.getProperty("user.dir") + "/Image/logo.png"); imagen.setAlignment(Image.TEXTWRAP); try {//from w w w.j a v a 2 s . c o m Paragraph linea = new Paragraph(encabezado, fuente); Phrase para = new Phrase(choro); Paragraph fecha = new Paragraph(date + "\n" + "\n"); PdfPTable tabla = new PdfPTable(Columnas.length); tabla.setWidthPercentage(100); //Document documento = new Document(PageSize.LETTER); Document documento = new Document(PageSize.A4.rotate(), 50, 50, 100, 72); File Dir = new File(System.getProperty("user.dir") + "/Reportes/"); if (!Dir.exists()) { Dir.mkdirs(); } String file = System.getProperty("user.dir") + "/Reportes/" + metaData.getTableName(1) + " " + date + ".pdf"; PdfWriter.getInstance(documento, new FileOutputStream(file)); documento.open(); documento.add(imagen); documento.add(linea); documento.add(para); documento.add(fecha); for (int x = 0; x < Columnas.length; x++) { PdfPCell Celda = new PdfPCell(new Paragraph(metaData.getColumnName(x + 1), FontFactory.getFont("arial", 9, Font.BOLD, BaseColor.RED))); Celda.setHorizontalAlignment(Element.ALIGN_CENTER); tabla.addCell(Celda); } while (Resultados.next()) { for (int x = 0; x < Columnas.length; x++) { //if(Resultados.getObject(x+1).getClass().getSimpleName().equals("Integer")) PdfPCell Celda = new PdfPCell(new Paragraph(String.valueOf(Resultados.getObject(x + 1)), FontFactory.getFont("arial", 9, BaseColor.BLACK))); Celda.setHorizontalAlignment(Element.ALIGN_CENTER); tabla.addCell(Celda); } } documento.add(tabla); documento.close(); } catch (DocumentException e) { Log.SaveLog(e.toString()); JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } catch (IOException e) { Log.SaveLog(e.toString()); JOptionPane.showMessageDialog(null, e.getMessage(), "error", JOptionPane.ERROR_MESSAGE); } }
From source file:com.github.wolfposd.imsqti2pdf.PDFCreator.java
License:Open Source License
private void writeQuestions(Paragraph paragraph, Document document, boolean showCorrectAnswer, ArrayList<Question> qlist) throws DocumentException, IOException { for (int i = 0; i < qlist.size(); i++) { Question question = qlist.get(i); paragraph.clear();/* w w w. ja v a2 s . c o m*/ // addQuestionNumber(paragraph, i, qlist.size()); addQuestionText(paragraph, question, i); addAnswerTexts(paragraph, showCorrectAnswer, question); fixFonts(paragraph); PdfPTable table = new PdfPTable(1); table.setWidthPercentage(100); table.setKeepTogether(true); PdfPCell cell = new PdfPCell(); cell.addElement(paragraph); cell.setBorderColor(BaseColor.WHITE); cell.setBorder(PdfPCell.NO_BORDER); table.addCell(cell); document.add(table); } }