Home > JAVA > 5 Langkah Membuat Dokumen PDF dengan iText

5 Langkah Membuat Dokumen PDF dengan iText

Tutorial sebelumnya kita sudah membuat dokumen PDF yang sangat sederhana. Kali ini saya akan menerangkan secara garis besar langkah-langkah yang kita lakukan untuk membuat dokumen PDF dengan iText. Ada 5 langkah utama yang kita lakukan:

  1. Buat dokumen.
  2. Ambil instance dari PdfWriter.
  3. Buka dokumen.
  4. Tambahkan content.
  5. Tutup dokumen.

Buat dokumen

Document adalah objek dimana kita akan menambahkan content ke dalamnya, bisa dalam bentuk Chunk, Phrase, Paragraph (akan dijelaskan di artikel lain). Pada langkah ini kita dapat menentukan ukuran dokumen yang akan dibuat (ukuran kertasnya), bisa menggunakan standard atau custom). Untuk ukuran standard dapat dilihat di sini. Cara menggunakannya bisa dengan constructor atau melalui method.


//Pakai constructor

Document doc = new Document(PageSize.LETTER);

//Pakai method

Document doc = new Document();
PdfWriter.getInstance(doc, new FileOutputStream("HelloWorld.pdf"));
doc.setPageSize(PageSize.A5);
doc.setMargins(36, 72, 108, 180);
doc.setMarginMirroring(true);
doc.setMarginMirroringTopBottom(true);

Selain menentukan ukuran dokumen, kita juga dapat menentukan margin. setMarginMirroring(true) supaya margin kiri-kanan mirror (untuk penjilitan buku).

Ambil instance dari PdfWriter

PdfWriter adalah class yang bertanggung jawab untuk menulis file PDF. Ketika kita menuliskan content ke dalam Document, PdfWriter akan menulis file PDF tersebut ke dalam OutputStream. Pada contoh sebelumnya kita menggunakan FileOutputStream sehingga dokumen ditulis ke dalam disk. Untuk aplikasi web sebaiknya dokumen langsung diberikan kepada browser, ditulis ke ServletOutputStream menggunakan response.getOutputStream(). Tetapi tidak semua browser bisa. Contoh membuat dokumen PDF dengan menuliskan ke dalam memory baru ditulis ke dalam disk.

Buka dokumen

Salah satu yang dilakukan saat dokumen dibuka adalah penulisan file header. Jika PDF dibuka menggunakan teks editor maka akan tampak (kurang lebih) seperti ini.

Di baris pertama tertulis %PDF-1.4. Ini merupakan versi PDF yang digunakan (1.4 default). Semakin baru versinya, semakin banyak fitur yang bisa dipakai. Kita dapat menentukan versi berapa dokumen pdf yang akan kita buat dengan method setPdfVersion().


PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream("HelloWorld.pdf"));

writer.setPdfVersion(PdfWriter.VERSION_1_6);

Tambahkan content

Di sini kita menambahkan content ke dalam dokumen (akan dibahas pada artikel lain).

Tutup dokumen

Objek tertentu seperti katalog dan info dictionary akan ditambahkan paling akhir oleh iText, mereka akan ditulis ke OutputStream saat dokumen ditutup. Setelah itu ada cross-reference table yang menyimpan posisi byte dari objek PDF yang mendefinisikan dokumen, diikuti dengan trailer, lalu terakhir byte sequence yang mengindikasikan file selesai ditulis (EOF). Kita tidak perlu menutup OutputStream secara manual karena iText akan menutupnya otomatis setelah menulis EOF. Jika kita tidak ingin iText secara otomatis menutup OutputStream, dapat menggunakan method PdfWriter.setCloseStream(false).

Categories: JAVA
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: