iText - Anotasi Markup
Pada bab ini, kita akan melihat bagaimana menambahkan anotasi markup teks ke dokumen PDF menggunakan pustaka iText.
Membuat Anotasi Markup dalam PDF
Anda dapat membuat Dokumen PDF kosong dengan membuat instance Documentkelas. Saat membuat instance kelas ini, Anda harus meneruskan aPdfDocumentobjek sebagai parameter untuk konstruktornya. Untuk menggunakan anotasi teks dalam dokumen PDF Anda, Anda perlu membuat objekPdfTextAnnotation kelas dan tambahkan ini ke PdfPage.
Berikut adalah langkah-langkah untuk menggunakan anotasi teks dalam dokumen PDF.
Langkah 1: Membuat objek PdfWriter
Itu PdfWriterkelas mewakili DocWriter untuk PDF. Kelas ini termasuk dalam paketcom.itextpdf.kernel.pdf. Konstruktor kelas ini menerima string, yang mewakili jalur file tempat PDF akan dibuat.
Buat instance kelas PdfWriter dengan meneruskan nilai string (mewakili jalur tempat Anda perlu membuat PDF) ke konstruktornya, seperti yang ditunjukkan di bawah ini.
// Creating a PdfWriter
String dest = "C:/itextExamples/markupAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
Saat objek jenis ini diteruskan ke PdfDocument (kelas), setiap elemen yang ditambahkan ke dokumen ini akan ditulis ke file yang ditentukan.
Langkah 2: Membuat objek PdfDocument
Itu PdfDocumentkelas adalah kelas yang mewakili Dokumen PDF di iText. Kelas ini termasuk dalam paketcom.itextpdf.kernel.pdf. Untuk membuat instance kelas ini (dalam mode menulis), Anda perlu meneruskan objek kelasPdfWriter ke konstruktornya.
Buat instance kelas PdfDocument dengan meneruskan objek PdfWriter ke konstruktornya, seperti yang ditunjukkan di bawah ini.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Setelah objek PdfDocument dibuat, Anda dapat menambahkan berbagai elemen seperti halaman, font, lampiran file, dan penanganan kejadian menggunakan metode masing-masing yang disediakan oleh kelasnya.
Langkah 3: Membuat objek Dokumen
Itu Document kelas paket com.itextpdf.layoutadalah elemen root saat membuat PDF mandiri. Salah satu konstruktor kelas ini menerima objek kelasPdfDocument.
Instantiate Document kelas dengan melewatkan objek kelas PdfDocument dibuat pada langkah sebelumnya, seperti yang ditunjukkan di bawah ini.
// Creating a Document
Document document = new Document(pdfDoc);
Langkah 4: Membuat objek PdfAnnotation
Itu PdfAnnotation kelas paket com.itextpdf.kernel.pdf.annot mewakili superclass dari semua anotasi.
Di antara kelas turunannya, PdfTextMarkupAnnotationkelas mewakili anotasi markup teks. Buat objek dari kelas ini seperti yang ditunjukkan di bawah ini.
// Creating a PdfTextMarkupAnnotation object
Rectangle rect = new Rectangle(105, 790, 64, 10);
float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
PdfAnnotation annotation = PdfTextMarkupAnnotation.createHighLight(rect,floatArray);
Langkah 5: Mengatur warna anotasi
Setel warna pada anotasi menggunakan setColor() metode dari PdfAnnotationkelas. Untuk metode ini, teruskan objek warna yang mewakilicolor dari anotasi sebagai parameter.
// Setting color to the annotation
annotation.setColor(Color.YELLOW);
Langkah 6: Mengatur judul dan konten anotasi
Tetapkan judul dan konten anotasi menggunakan setTitle() dan setContents() metode dari PdfAnnotation kelas masing-masing.
// Setting title to the annotation
annotation.setTitle(new PdfString("Hello!"));
// Setting contents to the annotation
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
Langkah 7: Menambahkan anotasi ke halaman
Buat yang baru PdfPage kelas menggunakan addNewPage() metode dari PdfDocument kelas dan tambahkan anotasi yang dibuat di atas menggunakan addAnnotation() metode kelas PdfPage, seperti yang ditunjukkan di bawah ini.
// Creating a new Pdfpage
PdfPage pdfPage = pdfDoc.addNewPage();
// Adding annotation to a page in a PDF
pdfPage.addAnnotation(annotation);
Langkah 8: Menutup Dokumen
Tutup dokumen menggunakan close() metode dari Document kelas, seperti yang ditunjukkan di bawah ini.
// Closing the document
document.close();
Contoh
Program Java berikut menunjukkan cara menambahkan anotasi markup teks ke dokumen PDF menggunakan perpustakaan iText. Ini membuat dokumen PDF dengan namamarkupAnnotation.pdf, menambahkan anotasi markup teks ke dalamnya, dan menyimpannya di jalur C:/itextExamples/
Simpan kode ini dalam file dengan nama MarkupAnnotation.java.
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfString;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.annot.PdfAnnotation;
import com.itextpdf.kernel.pdf.annot.PdfTextMarkupAnnotation;
import com.itextpdf.layout.Document;
public class MarkupAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfDocument object
String file = "C:/itextExamples/markupAnnotation.pdf";
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating a PdfTextMarkupAnnotation object
Rectangle rect = new Rectangle(105, 790, 64, 10);
float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
PdfAnnotation annotation =
PdfTextMarkupAnnotation.createHighLight(rect,floatArray);
// Setting color to the annotation
annotation.setColor(Color.YELLOW);
// Setting title to the annotation
annotation.setTitle(new PdfString("Hello!"));
// Setting contents to the annotation
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
// Creating a new Pdfpage
PdfPage pdfPage = pdfDoc.addNewPage();
// Adding annotation to a page in a PDF
pdfPage.addAnnotation(annotation);
// Closing the document
doc.close();
System.out.println("Annotation added successfully");
}
}
Kompilasi dan jalankan file Java yang disimpan dari Command prompt menggunakan perintah berikut -
javac MarkupAnnotation.java
java MarkupAnnotation
Setelah dijalankan, program di atas membuat dokumen PDF yang menampilkan pesan berikut.
Annotation added successfully
Jika Anda memverifikasi jalur yang ditentukan, Anda dapat menemukan dokumen PDF yang dibuat seperti yang ditunjukkan di bawah ini.