iText - คำอธิบายประกอบบรรทัด
ในบทนี้เราจะดูวิธีการเพิ่มคำอธิบายประกอบบรรทัดลงในเอกสาร PDF โดยใช้ไลบรารี iText
การสร้างคำอธิบายบรรทัดในรูปแบบ Pdf
คุณสามารถสร้างเอกสาร PDF เปล่าโดยการสร้างไฟล์ Documentชั้นเรียน. ในขณะที่สร้างอินสแตนซ์คลาสนี้คุณต้องผ่านไฟล์PdfDocument วัตถุเป็นพารามิเตอร์ไปยังตัวสร้าง
ในการใช้คำอธิบายประกอบข้อความในเอกสาร PDF ของคุณคุณต้องสร้างวัตถุของไฟล์ PdfTextAnnotation และเพิ่มสิ่งนี้ลงในไฟล์ PdfPage.
ต่อไปนี้เป็นขั้นตอนในการใช้คำอธิบายประกอบข้อความในเอกสาร PDF
ขั้นตอนที่ 1: การสร้างวัตถุ PdfWriter
PdfWriterคลาสแทน DocWriter สำหรับ PDF คลาสนี้เป็นของแพ็คเกจcom.itextpdf.kernel.pdf. คอนสตรัคเตอร์ของคลาสนี้ยอมรับสตริงซึ่งแสดงถึงพา ธ ของไฟล์ที่จะสร้าง PDF
สร้างอินสแตนซ์คลาส PdfWriter โดยการส่งค่าสตริงที่แสดงเส้นทางที่คุณต้องการสร้าง PDF ไปยังตัวสร้างดังที่แสดงด้านล่าง
// Creating a PdfWriter
String dest = "C:/itextExamples/lineAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
เมื่อออบเจ็กต์ประเภทนี้ถูกส่งผ่านไปยัง PdfDocument (คลาส) ทุกองค์ประกอบที่เพิ่มลงในเอกสารนี้จะถูกเขียนลงในไฟล์ที่ระบุ
ขั้นตอนที่ 2: การสร้างวัตถุ PdfDocument
PdfDocumentคลาสคือคลาสที่แสดงถึง PDFDocument ใน iText คลาสนี้เป็นของแพ็คเกจcom.itextpdf.kernel.pdf. ในการสร้างอินสแตนซ์คลาสนี้ (ในโหมดการเขียน) คุณต้องส่งผ่านอ็อบเจ็กต์ของคลาสPdfWriter ไปยังผู้สร้าง
สร้างอินสแตนซ์คลาส PdfDocument โดยส่งออบเจ็กต์ PdfWriter ไปยังตัวสร้างดังที่แสดงด้านล่าง
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
เมื่อสร้างวัตถุ PdfDocument แล้วคุณสามารถเพิ่มองค์ประกอบต่างๆเช่นหน้าแบบอักษรสิ่งที่แนบไฟล์ตัวจัดการเหตุการณ์โดยใช้วิธีการตามลำดับที่จัดเตรียมโดยคลาสของมัน
ขั้นตอนที่ 3: การสร้างวัตถุเอกสาร
Document คลาสของแพ็คเกจ com.itextpdf.layoutเป็นองค์ประกอบหลักในขณะที่สร้าง PDF แบบพอเพียง หนึ่งในตัวสร้างของคลาสนี้ยอมรับอ็อบเจ็กต์ของคลาสPdfDocument.
สร้างอินสแตนซ์คลาสเอกสารโดยส่งผ่านอ็อบเจ็กต์ของคลาส PdfDocument สร้างขึ้นในขั้นตอนก่อนหน้าดังที่แสดงด้านล่าง
// Creating a Document
Document document = new Document(pdfDoc);
ขั้นตอนที่ 4: การสร้างวัตถุ PdfAnnotation
PdfAnnotation คลาสของแพ็คเกจ com.itextpdf.kernel.pdf.annot แสดงถึงเป็นซูเปอร์คลาสของคำอธิบายประกอบทั้งหมด
ในบรรดาคลาสที่ได้รับ PdfLineAnnotationคลาสแทนคำอธิบายประกอบบรรทัด สร้างออบเจ็กต์ของคลาสนี้ตามที่แสดงด้านล่าง
// Creating PdfAnnotation
Rectangle rect = new Rectangle(20, 800, 0, 0);
PdfAnnotation annotation = new PdfLineAnnotation(rect);
ขั้นตอนที่ 5: การตั้งค่าสีของคำอธิบายประกอบ
ตั้งค่าสีให้กับคำอธิบายประกอบโดยใช้ setColor() วิธีการของ PdfAnnotationชั้นเรียน. สำหรับวิธีนี้ให้ส่งผ่านวัตถุสีที่แสดงสีของคำอธิบายประกอบเป็นพารามิเตอร์
// Setting color to the annotation
annotation.setColor(Color.BLUE);
ขั้นตอนที่ 6: การตั้งชื่อและเนื้อหาของคำอธิบายประกอบ
ตั้งชื่อเรื่องและเนื้อหาของคำอธิบายประกอบโดยใช้ setTitle() และ setContents() วิธีการของ PdfAnnotation คลาสตามลำดับดังที่แสดงด้านล่าง
// Setting title to the PdfLineAnnotation
annotation.setTitle(new PdfString("iText"));
// Setting contents of the PdfLineAnnotation
annotation.setContents("Hi welcome to Tutorialspoint");
ขั้นตอนที่ 7: การเพิ่มคำอธิบายประกอบลงในเพจ
สร้างไฟล์ PdfPage คลาสโดยใช้ addNewPage() วิธีการของ PdfDocument คลาสและเพิ่มคำอธิบายประกอบที่สร้างไว้ข้างต้นโดยใช้เมธอด addAnnotation () ของคลาส PdfPage ดังที่แสดงด้านล่าง
// Creating a new page
PdfPage page = pdf.addNewPage();
// Adding annotation to a page in a PDF
page.addAnnotation(annotation);
ขั้นตอนที่ 8: การปิดเอกสาร
ปิดเอกสารโดยใช้ close() วิธีการของ Document ชั้นเรียนดังที่แสดงด้านล่าง
// Closing the document
document.close();
ตัวอย่าง
โปรแกรม Java ต่อไปนี้สาธิตวิธีการเพิ่มคำอธิบายประกอบบรรทัดลงในเอกสาร PDF โดยใช้ไลบรารี iText สร้างเอกสาร PDF ที่มีชื่อlineAnnotation.pdfเพิ่มคำอธิบายประกอบบรรทัดลงไปและบันทึกไว้ในเส้นทาง C:/itextExamples/.
บันทึกรหัสนี้ในไฟล์ที่มีชื่อ LineAnnotation.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.PdfLineAnnotation;
import com.itextpdf.layout.Document;
public class LineAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/lineAnnotations.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
// Creating a PdfPage
PdfPage page = pdf.addNewPage();
// creating PdfLineAnnotation object
Rectangle rect = new Rectangle(0, 0);
float[] floatArray = new float[]{
20, 790, page.getPageSize().getWidth() - 20, 790
};
PdfAnnotation annotation = new PdfLineAnnotation(rect, floatArray);
// Setting color of the PdfLineAnnotation
annotation.setColor(Color.BLUE);
// Setting title to the PdfLineAnnotation
annotation.setTitle(new PdfString("iText"));
// Setting contents of the PdfLineAnnotation
annotation.setContents("Hi welcome to Tutorialspoint");
// Adding annotation to the page
page.addAnnotation(annotation);
// Closing the document
document.close();
System.out.println("Annotation added successfully");
}
}
คอมไพล์และเรียกใช้ไฟล์ Java ที่บันทึกไว้จากพรอมต์คำสั่งโดยใช้คำสั่งต่อไปนี้ -
javac LineAnnotation.java
java LineAnnotation
เมื่อดำเนินการโปรแกรมด้านบนจะสร้างเอกสาร PDF ที่แสดงข้อความต่อไปนี้
Annotation added successfully
หากคุณตรวจสอบเส้นทางที่ระบุคุณจะพบเอกสาร PDF ที่สร้างขึ้นดังที่แสดงด้านล่าง