PDFBox - Menambahkan Beberapa Baris
Dalam contoh yang diberikan di bab sebelumnya, kita membahas cara menambahkan teks ke halaman dalam PDF tetapi melalui program ini, Anda hanya dapat menambahkan teks yang muat dalam satu baris. Jika Anda mencoba menambahkan lebih banyak konten, semua teks yang melebihi ruang baris tidak akan ditampilkan.
Misalnya, jika Anda menjalankan program di atas pada bab sebelumnya dengan melewatkan string berikut, hanya sebagian saja yang akan ditampilkan.
String text = "This is an example of adding text to a page in the pdf document. we can
add as many lines as we want like this using the showText() method of the
ContentStream class";
Ganti string textdari contoh di bab sebelumnya dengan string yang disebutkan di atas dan jalankan. Setelah dieksekusi, Anda akan menerima keluaran berikut.
Jika Anda mengamati hasilnya dengan hati-hati, Anda dapat melihat bahwa hanya sebagian dari string yang ditampilkan.
Untuk menambahkan beberapa baris ke PDF Anda perlu mengatur awal menggunakan setLeading() metode dan beralih ke baris baru menggunakan newline() metode setelah menyelesaikan setiap baris.
Langkah
Berikut adalah langkah-langkah membuat dokumen kosong dan menambahkan konten ke halaman di dalamnya.
Langkah 1: Memuat Dokumen yang Ada
Anda dapat memuat dokumen yang sudah ada menggunakan load()metode kelas PDDocument. Oleh karena itu, buat instance kelas ini dan muat dokumen yang diperlukan seperti yang ditunjukkan di bawah ini.
File file = new File("Path of the document");
PDDocument doc = PDDocument.load(file);
Langkah 2: Mendapatkan Halaman yang Diperlukan
Anda bisa mendapatkan halaman yang diperlukan dalam dokumen menggunakan getPage()metode. Ambil objek halaman yang diperlukan dengan meneruskan indeksnya ke metode ini seperti yang ditunjukkan di bawah ini.
PDPage page = doc.getPage(1);
Langkah 3: Mempersiapkan aliran Konten
Anda dapat memasukkan berbagai jenis elemen data menggunakan objek dari kelas bernama PDPageContentStream. Anda perlu meneruskan objek dokumen dan objek halaman ke konstruktor kelas ini, oleh karena itu, buat instance kelas ini dengan meneruskan dua objek yang dibuat pada langkah sebelumnya seperti yang ditunjukkan di bawah ini.
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
Langkah 4: Memulai Teks
Saat memasukkan teks ke dalam dokumen PDF, Anda dapat menentukan titik awal dan akhir teks menggunakan beginText() dan endText() metode dari PDPageContentStream kelas seperti yang ditunjukkan di bawah ini.
contentStream.beginText();
………………………..
code to add text content
………………………..
contentStream.endText();
Oleh karena itu, mulailah teks menggunakan beginText() metode seperti yang ditunjukkan di bawah ini.
contentStream.beginText();
Langkah 5: Mengatur Posisi Teks
Menggunakan newLineAtOffset() metode, Anda dapat mengatur posisi pada aliran konten di halaman.
//Setting the position for the line
contentStream.newLineAtOffset(25, 700);
Langkah 6: Mengatur Font
Anda dapat mengatur fonta teks ke gaya yang diperlukan menggunakan setFont() metode dari PDPageContentStream kelas seperti yang ditunjukkan di bawah ini untuk metode ini Anda harus meneruskan jenis dan ukuran font.
contentStream.setFont( font_type, font_size );
Langkah 7: Mengatur Teks Terdepan
Anda dapat mengatur teks di depan menggunakan setLeading() metode seperti yang ditunjukkan di bawah ini.
contentStream.setLeading(14.5f);
Langkah 8: Memasukkan Beberapa String Menggunakan newline ()
Anda dapat memasukkan beberapa string menggunakan ShowText() metode dari PDPageContentStream kelas, dengan membagi masing-masing menggunakan newline() metode seperti yang ditunjukkan di bawah ini.
contentStream. ShowText(text1);
contentStream.newLine();
contentStream. ShowText(text2);
Langkah 9: Mengakhiri Teks
Setelah memasukkan teks, Anda harus mengakhiri teks menggunakan endText() metode dari PDPageContentStream kelas seperti yang ditunjukkan di bawah ini.
contentStream.endText();
Langkah 10: Menutup PDPageContentStream
Tutup PDPageContentStream objek menggunakan close() metode seperti yang ditunjukkan di bawah ini.
contentstream.close();
Langkah 11: Menyimpan Dokumen
Setelah menambahkan konten yang diperlukan, simpan dokumen PDF menggunakan save() metode dari PDDocument kelas seperti yang ditunjukkan pada blok kode berikut.
doc.save("Path");
Langkah 12: Menutup Dokumen
Terakhir, tutup dokumen menggunakan close() metode dari PDDocument kelas seperti yang ditunjukkan di bawah ini.
doc.close();
Contoh
Contoh ini menunjukkan cara menambahkan beberapa baris dalam PDF menggunakan PDFBox. Simpan program ini dalam file dengan namaAddMultipleLines.java.
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
public class AddMultipleLines {
public static void main(String args[]) throws IOException {
//Loading an existing document
File file = new File("C:/PdfBox_Examples/my_pdf.pdf");
PDDocument doc = document.load(file);
//Creating a PDF Document
PDPage page = doc.getPage(1);
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
//Begin the Content stream
contentStream.beginText();
//Setting the font to the Content stream
contentStream.setFont( PDType1Font.TIMES_ROMAN, 16 );
//Setting the leading
contentStream.setLeading(14.5f);
//Setting the position for the line
contentStream.newLineAtOffset(25, 725);
String text1 = "This is an example of adding text to a page in the pdf document.
we can add as many lines";
String text2 = "as we want like this using the ShowText() method of the
ContentStream class";
//Adding text in the form of string
contentStream. ShowText(text1);
contentStream.newLine();
contentStream. ShowText(text2);
//Ending the content stream
contentStream.endText();
System.out.println("Content added");
//Closing the content stream
contentStream.close();
//Saving the document
doc.save(new File("C:/PdfBox_Examples/new.pdf"));
//Closing the document
doc.close();
}
}
Kompilasi dan jalankan file Java yang disimpan dari command prompt menggunakan perintah berikut.
javac AddMultipleLines.java
java AddMultipleLines
Setelah dieksekusi, program di atas menambahkan teks yang diberikan ke dokumen dan menampilkan pesan berikut.
Content added
Jika Anda memverifikasi Dokumen PDF new.pdf di jalur yang ditentukan, Anda dapat mengamati bahwa konten yang diberikan ditambahkan ke dokumen dalam beberapa baris seperti yang ditunjukkan di bawah ini.