iText - การตั้งค่าแบบอักษร

ในบทนี้เราจะดูวิธีตั้งค่าสีและแบบอักษรเป็นข้อความในเอกสาร PDF โดยใช้ไลบรารี iText

การตั้งค่าแบบอักษรของข้อความใน PDF

คุณสามารถสร้างเอกสาร PDF เปล่าโดยการสร้างไฟล์ Documentชั้นเรียน. ในขณะที่สร้างอินสแตนซ์คลาสนี้คุณต้องผ่านไฟล์PdfDocument วัตถุเป็นพารามิเตอร์ของตัวสร้าง

ในการเพิ่มย่อหน้าในเอกสารคุณต้องสร้างอินสแตนซ์ไฟล์ Paragraph คลาสและเพิ่มวัตถุนี้ลงในเอกสารโดยใช้ add()วิธี. คุณสามารถกำหนดสีและแบบอักษรให้กับข้อความโดยใช้วิธีการsetFontColor() และ setFont() ตามลำดับ

ต่อไปนี้เป็นขั้นตอนในการตั้งค่าสีและแบบอักษรเป็นข้อความในเอกสาร pdf

ขั้นตอนที่ 1: การสร้างวัตถุ PdfWriter

PdfWriterคลาสแทน DocWriter สำหรับ PDF คลาสนี้เป็นของแพ็คเกจcom.itextpdf.kernel.pdf. คอนสตรัคเตอร์ของคลาสนี้ยอมรับสตริงซึ่งแสดงถึงพา ธ ของไฟล์ที่จะสร้าง PDF

สร้างอินสแตนซ์คลาส PdfWriter โดยส่งค่าสตริง (แสดงถึงเส้นทางที่คุณต้องการสร้าง PDF) ไปยังตัวสร้างดังที่แสดงด้านล่าง

// Creating a PdfWriter 
String dest = "C:/itextExamples/fonts.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

สร้างอินสแตนซ์คลาสเอกสารโดยส่งผ่านอ็อบเจ็กต์ของคลาส PdfDocument สร้างขึ้นในขั้นตอนก่อนหน้าดังที่แสดงด้านล่าง

// Creating a Document   
Document document = new Document(pdfDoc);

ขั้นตอนที่ 4: การสร้างข้อความ

สร้างข้อความโดยสร้างอินสแตนซ์ไฟล์ Text คลาสของแพ็คเกจ com.itextpdf.layout.element ดังแสดงด้านล่าง

// Creating text object 
Text text = new Text("Tutorialspoint");

ขั้นตอนที่ 5: การตั้งค่าแบบอักษรและสีให้กับข้อความ

สร้างไฟล์ PdfFont วัตถุโดยใช้ createFont() วิธีการของคลาส PdfFontFactory ของแพ็คเกจ com.itextpdf.kernel.font ดังแสดงด้านล่าง

// Setting font of the text PdfFont 
font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);

ตอนนี้ตั้งค่าแบบอักษรเป็นข้อความโดยใช้ setFont() วิธีการของ Textคลาสเป็นวิธีนี้ ผ่านไฟล์PdfFont ออบเจ็กต์เป็นพารามิเตอร์ดังที่แสดงด้านล่าง

text1.setFont(font);

ในการกำหนดสีให้กับข้อความให้เรียกใช้ไฟล์ setFontColor() วิธีการของคลาส Text ดังที่แสดงด้านล่าง

// Setting font color 
text.setFontColor(Color.GREEN);

ขั้นตอนที่ 6: การเพิ่มข้อความในย่อหน้า

สร้างไฟล์ Paragraph คลาสออบเจ็กต์และเพิ่มข้อความที่สร้างขึ้นด้านบนโดยใช้ add() วิธีการดังที่แสดงด้านล่าง

// Creating Paragraph 
Paragraph paragraph = new Paragraph();  

// Adding text to the paragraph 
paragraph.add(text);

ขั้นตอนที่ 7: การเพิ่มย่อหน้าลงในเอกสาร

เพิ่มย่อหน้าลงในเอกสารโดยใช้ add() วิธีการของ Document ชั้นเรียนดังที่แสดงด้านล่าง

doc.add(paragraph1)

ขั้นตอนที่ 8: การปิดเอกสาร

ปิดเอกสารโดยใช้ close() วิธีการของ Document ชั้นเรียนดังที่แสดงด้านล่าง

// Closing the document 
document.close();

ตัวอย่าง

โปรแกรม Java ต่อไปนี้สาธิตวิธีการตั้งค่าสีและแบบอักษรเป็นข้อความใน PDF โดยใช้ไลบรารี iText สร้างเอกสาร PDF ที่มีชื่อfonts.pdfจัดรูปแบบข้อความและบันทึกไว้ในเส้นทาง C:/itextExamples/

บันทึกรหัสนี้ในไฟล์ที่มีชื่อ FormatingTheText.java.

import com.itextpdf.io.font.FontConstants; 
import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.font.PdfFontFactory; 
import com.itextpdf.kernel.font.PdfFont; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Paragraph; 
import com.itextpdf.layout.element.Text;  

public class FormatingTheText {     
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/fonts.pdf";   
      PdfWriter writer = new PdfWriter(dest);             
   
      // Creating a PdfDocument object      
      PdfDocument pdf = new PdfDocument(writer);                   
   
      // Creating a Document object       
      Document doc = new Document(pdf);
   
      // Creating text object       
      Text text1 = new Text("Tutorialspoint");              
   
      // Setting font of the text       
      PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);       
      text1.setFont(font);                 
   
      // Setting font color
      text1.setFontColor(Color.GREEN);
   
      // Creating text object
      Text text2 = new Text("Simply Easy Learning");
      text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA));         
      
      // Setting font color
      text2.setFontColor(Color.BLUE);
      
      // Creating Paragraph
      Paragraph paragraph1 = new Paragraph();
      
      // Adding text1 to the paragraph
      paragraph1.add(text1);
      paragraph1.add(text2);
      
      // Adding paragraphs to the document
      doc.add(paragraph1);
      doc.close();       
      
      System.out.println("Text added to pdf ..");   
   }     
}

คอมไพล์และเรียกใช้ไฟล์ Java ที่บันทึกไว้จากพรอมต์คำสั่งโดยใช้คำสั่งต่อไปนี้ -

javac FormatingTheText.java 
java FormatingTheText

เมื่อดำเนินการโปรแกรมด้านบนจะสร้างเอกสาร PDF ที่แสดงข้อความต่อไปนี้

Text added to pdf ..

หากคุณตรวจสอบเส้นทางที่ระบุคุณจะพบเอกสาร PDF ที่สร้างขึ้นดังที่แสดงด้านล่าง