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 ที่สร้างขึ้นดังที่แสดงด้านล่าง