Display sqlite database content in pdf format in android Display sqlite database content in pdf format in android sqlite sqlite

Display sqlite database content in pdf format in android


Look at droidtext which a port of the iText library version 2.1.7 for Android.

There are lots of examples too. Get started with Helloworld.

public class HelloWorld {        /**         * Generates a PDF file with the text 'Hello World'         *          * @param args         *            no arguments needed here         */        public static void main(String[] args) {                System.out.println("Hello World");                // step 1: creation of a document-object                Document document = new Document();                try {                        // step 2:                        // we create a writer that listens to the document                        // and directs a PDF-stream to a file                        PdfWriter.getInstance(document, new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + java.io.File.separator + "droidtext" + java.io.File.separator + "HelloWorld.pdf"));                        // step 3: we open the document                        document.open();                        // step 4: we add a paragraph to the document                        document.add(new Paragraph("Hello World"));                } catch (DocumentException de) {                        System.err.println(de.getMessage());                } catch (IOException ioe) {                        System.err.println(ioe.getMessage());                }                // step 5: we close the document                document.close();        }}


For display content of Sqlite database into pdf you have to use itextpdf-5.2.1.jar.you can download it from here

Example code:

DatabaseHandlerofdatabase   dbHandler = new DatabaseHandlerofdatabase(this);    SQLiteDatabase db = dbHandler.getWritableDatabase();    Cursor c1 = db.rawQuery("SELECT * FROM tablename", null);    String filename="nameoffile.pdf";     Document document=new Document();  // create the document     File root = new File(Environment.getExternalStorageDirectory(), "Notes");      if (!root.exists()) {         root.mkdirs();   // create root directory in sdcard     }     File gpxfile = new File(root,filename);  // generate pdf file in that directory     PdfWriter.getInstance(document,new FileOutputStream(gpxfile));     document.open();  // open the directory     Paragraph p3=new Paragraph();  // to enter value you have to create paragraph  and add value in it then paragraph is added into document     p3.add("Username : ");     document.add(p3);    // now for ad table in pdf use below code     PdfPTable table = new PdfPTable(3); // Code 1    // Code 2     table.addCell("CATEGORY");     table.addCell("BUDGET");     table.addCell("USED BUDGET");   // now fetch data from database and display it in pdf    while (c1.moveToNext()) {    // get the value from database        String ex_bdgt = c1.getString(3);        String used_bdgt = c1.getString(5);         table.addCell(type);         table.addCell(ex_bdgt);         table.addCell(used_bdgt);        int temp_ex=Integer.parseInt(ex_bdgt);        ttlbud=ttlbud+temp_ex;        int temp_used=Integer.parseInt(used_bdgt);        usdbud=usdbud+temp_used;    }    // add table into document    document.add(table);        document.addCreationDate();      document.close();


I have tried Ketul Patel solution, the solution is fine in principle, but I needed to change few things in it. I changed the way I created the file in the directory, I got the idea from here, and it worked perfectly. and my final code is:

The DatabaseHelper is a class I created in my project which extends SQLiteOpenHelper. read more

public void createPdf() throws FileNotFoundException, DocumentException {    String dir = Environment.getExternalStorageDirectory()+File.separator+"myLogs";    File folder = new File(dir);    folder.mkdirs();    File file = new File(dir, "LogHistory.pdf");    Cursor c1 = database.rawQuery("SELECT * FROM " + DatabaseHelper.TABLE_LOG, null);    Document document = new Document();  // create the document    PdfWriter.getInstance(document, new FileOutputStream(file));    document.open();    Paragraph p3 = new Paragraph();    p3.add("Your Log History for \n");    document.add(p3);    PdfPTable table = new PdfPTable(4);    table.addCell("Date");    table.addCell("Start");    table.addCell("End");    table.addCell("Total");    while (c1.moveToNext()) {        String date = c1.getString(3);        String start = c1.getString(1);        String end = c1.getString(2);        String total = c1.getString(4);        table.addCell(date);        table.addCell(start);        table.addCell(end);        table.addCell(total);    }    document.add(table);    document.addCreationDate();    document.close();}