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/linkAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
เมื่อออบเจ็กต์ประเภทนี้ถูกส่งผ่านไปยัง PdfDocument (คลาส) ทุกองค์ประกอบที่เพิ่มลงในเอกสารนี้จะถูกเขียนลงในไฟล์ที่ระบุ
ขั้นตอนที่ 2: การสร้างวัตถุ PdfDocument
PdfDocumentคลาสคือคลาสที่แสดงถึงเอกสาร PDF ใน iText คลาสนี้เป็นของแพ็คเกจcom.itextpdf.kernel.pdf. ในการสร้างอินสแตนซ์คลาสนี้ (ในโหมดการเขียน) คุณต้องส่งผ่านอ็อบเจ็กต์ของคลาสPdfWriter ไปยังผู้สร้าง
สร้างอินสแตนซ์คลาส PdfDocument โดยส่งไฟล์ PdfWriter วัตถุตัวสร้างดังที่แสดงด้านล่าง
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
เมื่อสร้างวัตถุ PdfDocument แล้วคุณสามารถเพิ่มองค์ประกอบต่างๆเช่นหน้าแบบอักษรสิ่งที่แนบมาของไฟล์และตัวจัดการเหตุการณ์โดยใช้วิธีการตามลำดับที่จัดเตรียมโดยคลาสของมัน
ขั้นตอนที่ 3: การสร้างวัตถุเอกสาร
Document คลาสของแพ็คเกจ com.itextpdf.layoutเป็นองค์ประกอบหลักในขณะที่สร้าง PDF แบบพอเพียง หนึ่งในตัวสร้างของคลาสนี้ยอมรับอ็อบเจ็กต์ของคลาสPdfDocument.
เริ่มต้นไฟล์ Document คลาสโดยส่งผ่านอ็อบเจ็กต์ของคลาส PdfDocument ที่สร้างขึ้นในขั้นตอนก่อนหน้าดังที่แสดงด้านล่าง
// Creating a Document
Document document = new Document(pdfDoc);
ขั้นตอนที่ 4: การสร้างวัตถุ PdfAnnotation
PdfAnnotation คลาสของแพ็คเกจ com.itextpdf.kernel.pdf.annot แสดงถึงซูเปอร์คลาสของคำอธิบายประกอบทั้งหมด
ในบรรดาคลาสที่ได้รับ PdfLinkAnnotationคลาสแสดงคำอธิบายประกอบลิงก์ สร้างวัตถุของคลาสนี้ดังที่แสดงด้านล่าง
// Creating a PdfLinkAnnotation object
Rectangle rect = new Rectangle(0, 0);
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);
ขั้นตอนที่ 5: ตั้งค่าการทำงานของคำอธิบายประกอบ
ตั้งค่าการดำเนินการกับคำอธิบายประกอบโดยใช้ setAction() วิธีการของ PdfLinkAnnotation ชั้นเรียนดังที่แสดงด้านล่าง
// Setting action of the annotation
PdfAction action = PdfAction.createURI("http: // www.tutorialspoint.com/");
annotation.setAction(action);
ขั้นตอนที่ 6: สร้างลิงค์
สร้างลิงก์โดยสร้างอินสแตนซ์ไฟล์ Link คลาสของแพ็คเกจ com.itextpdf.layout.elementตามที่แสดงด้านล่าง
// Creating a link
Link link = new Link("Click here", annotation);
ขั้นตอนที่ 7: การเพิ่มคำอธิบายประกอบลิงก์ไปยังย่อหน้า
สร้างย่อหน้าใหม่โดยสร้างอินสแตนซ์ไฟล์ Paragraph คลาสและเพิ่มลิงค์ที่สร้างในขั้นตอนก่อนหน้าโดยใช้ add() วิธีการของคลาสนี้ดังที่แสดงด้านล่าง
// Creating a paragraph
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");
// Adding link to paragraph
paragraph.add(link.setUnderline());
ขั้นตอนที่ 8: การเพิ่มย่อหน้าลงในเอกสาร
เพิ่มย่อหน้าลงในเอกสารโดยใช้ add() วิธีการของ Document ชั้นเรียนดังที่แสดงด้านล่าง
// Adding paragraph to document
document.add(paragraph);
ขั้นตอนที่ 9: การปิดเอกสาร
ปิดเอกสารโดยใช้ close() วิธีการของ Document ชั้นเรียนดังที่แสดงด้านล่าง
// Closing the document
document.close();
ตัวอย่าง
โปรแกรม Java ต่อไปนี้สาธิตวิธีการเพิ่มคำอธิบายประกอบลิงก์ลงในเอกสาร PDF โดยใช้ไลบรารี iText
สร้างเอกสาร PDF ที่มีชื่อ linkAnnotation.pdfเพิ่มคำอธิบายประกอบลิงก์ลงไปและบันทึกไว้ในเส้นทาง C:/itextExamples/
บันทึกรหัสนี้ในไฟล์ที่มีชื่อ LinkAnnotation.java.
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.action.PdfAction;
import com.itextpdf.kernel.pdf.annot.PdfLinkAnnotation;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Link;
import com.itextpdf.layout.element.Paragraph;
public class LinkAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/linkAnnotation.pdf";
PdfWriter writer = new
PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
// Creating a PdfLinkAnnotation object
Rectangle rect = new Rectangle(0, 0);
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);
// Setting action of the annotation
PdfAction action = PdfAction.createURI("http:// www.tutorialspoint.com/");
annotation.setAction(action);
// Creating a link
Link link = new Link("Click here", annotation);
// Creating a paragraph
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");
// Adding link to paragraph
paragraph.add(link.setUnderline());
// Adding paragraph to document
document.add(paragraph);
// Closing the document
document.close();
System.out.println("Annotation added successfully");
}
}
คอมไพล์และเรียกใช้ไฟล์ Java ที่บันทึกไว้จากพรอมต์คำสั่งโดยใช้คำสั่งต่อไปนี้ -
javac LinkAnnotation.java
java LinkAnnotation
เมื่อดำเนินการโปรแกรมข้างต้นจะสร้างเอกสาร PDF ที่แสดงข้อความต่อไปนี้
Annotation added successfully
หากคุณตรวจสอบเส้นทางที่ระบุคุณจะพบเอกสาร PDF ที่สร้างขึ้นดังที่แสดงด้านล่าง