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