Tuesday 19 July 2016

Membuat File PDF -Android


Gambar 1. Hasil file PDF dari tutorial


Saat ini device dengan sistem operasi android semakin canggih dari segi spesifikasi yang diharapkan mampu menjalankan aplikasi yang setara dengan aplikasi yang ada pada komputer desktop. Salah satu kemampuan komputer desktop  adalah menghasilkan file PDF yang biasanya digunakan untuk laporan. Kemampuan ini akan lebih berguna bila dapat dijalankan pada smartphone android dengan segala kelebihan yang dimiliki smartphone tersebut. Android menggunakan bahasa java sehinga cocok dengan library iText (http://itextpdf.com/). Pada tutorial kali ini akan membahas bagaimana membuat file pdf menggunakan android dengan memanfaatkan library iText.

permission :
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
*permission ini diperlukan karena aplikasi akan mengakses derektori device untuk menyimpan file PDF

Main.java

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;


import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;


/**
 * Created by Windows on 19/07/2016.
 */
public class Main extends Activity {

    private static String FILE = Environment.getExternalStorageDirectory()+ File.separator+"Simpanpdf1.pdf";
    private static Font Font18bold = new Font(Font.FontFamily.TIMES_ROMAN, 12,
            Font.BOLD);
    private static Font Font12 = new Font(Font.FontFamily.TIMES_ROMAN, 12,
            Font.NORMAL);


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



        try {
            Document document = new Document();
            PdfWriter.getInstance(document, new FileOutputStream(FILE));
            document.open();
            addTitlePage(document);
            document.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }



    private static void addTitlePage(Document document)
            throws DocumentException {
        Paragraph preface = new Paragraph();
        // menambah baris kosong
        addEmptyLine(preface, 1);
        preface.add(new Paragraph("Judul 1", Font18bold));

        addEmptyLine(preface, 1);
        preface.add(new Paragraph(
                "kalimat 1",
                Font12));
        preface.add(new Paragraph(
                "kalimat 2",
                Font12));
        preface.add(new Paragraph(
                "kalima 3",
                Font12));

        document.add(preface);
        // membuka halaman baru
        document.newPage();
         preface = new Paragraph();

        addEmptyLine(preface, 1);
        preface.add(new Paragraph("Judul 2", Font18bold));

        addEmptyLine(preface, 1);
        preface.add(new Paragraph(
                "kalimat 1",
                Font12));
        preface.add(new Paragraph(
                "kalimat 2",
                Font12));
        preface.add(new Paragraph(
                "kalima 3",
                Font12));
        document.add(preface);
    }



    private static void addEmptyLine(Paragraph paragraph, int number) {
        for (int i = 0; i < number; i++) {
            paragraph.add(new Paragraph(" "));
        }
    }}

library dapat di-download dengan cara menambahkan
compile 'com.itextpdf:itextg:5.5.9'
pada build.grandle:
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'    compile 'com.itextpdf:itextg:5.5.9'}

Hasil pdf yang akan dihasilkan seperti Gambar 1.
Sekian n trimakasih..

Artikel Terkait Android

5 comments:

  1. sarannya ada demo hasillnnya gan tiap tutorial

    ReplyDelete
  2. bang kalo misal di gabung sama mysqli gimana ?

    ReplyDelete
    Replies
    1. buat dulu program android yang mysqli, terus database kan bisa di SELECT. buat fungsi java yang isiny SELECT. Trus klo ud diselect nilainy tinggal dipassing ke source code tutorial ini. klo ANdroid kan database biasa dipakai SQLite :https://komputasistat.blogspot.co.id/2014/03/membuat-database-sqlite-android.html atau klo ga realm database
      https://komputasistat.blogspot.co.id/search/label/Realm%20Database

      Delete
  3. Makasih bang , tapi kalo mau di buat Center tulisannya kaya gimana ya?

    ReplyDelete