Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to Generate Pdf File with Image in android?

Tags:

I can generate PDF file in android application using iText , so PDF document is generated but,
image is not included in PDF file.

like image 437
Chirag Patel Avatar asked Jul 13 '11 04:07

Chirag Patel


People also ask

How do I create a PDF with images?

Drag and drop an image file (JPG, PNG, BMP, and more) to use our PDF converter. Select an image file (JPG, PNG, BMP, and more) to use our PDF converter. Drag and drop an image file (JPG, PNG, BMP, and more) to use our PDF converter. Your file will be securely uploaded to Adobe cloud storage.


1 Answers

import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import java.util.Date;  import com.itextpdf.text.Anchor; import com.itextpdf.text.BadElementException; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Chapter; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.Image; import com.itextpdf.text.List; import com.itextpdf.text.ListItem; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Phrase; import com.itextpdf.text.Section; import com.itextpdf.text.pdf.PdfImportedPage; import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.PdfWriter;  import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.widget.TextView;  public class Main extends Activity {      private static String FILE = Environment.getExternalStorageDirectory()+File.separator+"firstPdf.pdf";     private static Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 18,             Font.BOLD);     private static Font redFont = new Font(Font.FontFamily.TIMES_ROMAN, 12,             Font.NORMAL, BaseColor.RED);     private static Font subFont = new Font(Font.FontFamily.TIMES_ROMAN, 16,             Font.BOLD);     private static Font smallBold = new Font(Font.FontFamily.TIMES_ROMAN, 12,             Font.BOLD);     TextView txt1;      @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);          txt1=(TextView) findViewById(R.id.textView1);          try {             Document document = new Document();             PdfWriter.getInstance(document, new FileOutputStream(FILE));             document.open();             addMetaData(document);             addTitlePage(document);             addContent(document);             //createImage();             document.close();          } catch (Exception e) {             e.printStackTrace();         }     }      private static void addMetaData(Document document) {         document.addTitle("My first PDF");         document.addSubject("Using iText");         document.addKeywords("Java, PDF, iText");         document.addAuthor("Lars Vogel");         document.addCreator("Lars Vogel");     }      private static void addTitlePage(Document document)             throws DocumentException {         Paragraph preface = new Paragraph();         // We add one empty line         addEmptyLine(preface, 1);         // Lets write a big header         preface.add(new Paragraph("Title of the document", catFont));          addEmptyLine(preface, 1);         // Will create: Report generated by: _name, _date         preface.add(new Paragraph(                 "Report generated by: " + System.getProperty("user.name") + ", " + new Date(), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$                 smallBold));         addEmptyLine(preface, 3);         preface.add(new Paragraph(                 "This document describes something which is very important ",                 smallBold));          addEmptyLine(preface, 8);          preface.add(new Paragraph(                 "This document is a preliminary version and not subject to your license agreement or any other agreement with vogella.de ;-).",                 redFont));          document.add(preface);         // Start a new page         document.newPage();     }      private static void addContent(Document document) throws DocumentException {         Anchor anchor = new Anchor("ESTIMATING APP", catFont);         anchor.setName("ESTIMATING APP");          // Second parameter is the number of the chapter         Chapter catPart = new Chapter(new Paragraph(anchor), 1);          Paragraph subPara = new Paragraph("Subcategory 1", subFont);         Section subCatPart = catPart.addSection(subPara);         subCatPart.add(new Paragraph("Hello"));          subPara = new Paragraph("Subcategory 2", subFont);         subCatPart = catPart.addSection(subPara);         subCatPart.add(new Paragraph("Paragraph 1"));         subCatPart.add(new Paragraph("Paragraph 2"));         subCatPart.add(new Paragraph("Paragraph 3"));          // Add a list         createList(subCatPart);         Paragraph paragraph = new Paragraph();         addEmptyLine(paragraph, 5);         subCatPart.add(paragraph);          // Add a table         createTable(subCatPart);          // Now add all this to the document         document.add(catPart);          // Next section         anchor = new Anchor("Second Chapter", catFont);         anchor.setName("Second Chapter");          // Second parameter is the number of the chapter         catPart = new Chapter(new Paragraph(anchor), 1);          subPara = new Paragraph("Subcategory", subFont);         subCatPart = catPart.addSection(subPara);         subCatPart.add(new Paragraph("This is a very important message"));          // Now add all this to the document         document.add(catPart);      }      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);          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);      }      private static void createList(Section subCatPart) {         List list = new List(true, false, 10);         list.add(new ListItem("First point"));         list.add(new ListItem("Second point"));         list.add(new ListItem("Third point"));         subCatPart.add(list);     }      private static void addEmptyLine(Paragraph paragraph, int number) {         for (int i = 0; i < number; i++) {             paragraph.add(new Paragraph(" "));         }     } 
like image 60
Chirag Patel Avatar answered Oct 14 '22 03:10

Chirag Patel