iText - การสร้างเอกสาร PDF
ตอนนี้ให้เราเข้าใจวิธีสร้างเอกสาร PDF โดยใช้ไลบรารี iText
การสร้างเอกสาร PDF เปล่า
คุณสามารถสร้างเอกสาร PDF เปล่าโดยการสร้างไฟล์ Documentชั้นเรียน. ในขณะที่สร้างอินสแตนซ์คลาสนี้คุณต้องผ่านไฟล์PdfDocument วัตถุเป็นพารามิเตอร์ของตัวสร้าง
ต่อไปนี้เป็นขั้นตอนในการสร้างเอกสาร PDF เปล่า
ขั้นตอนที่ 1: การสร้างวัตถุ PdfWriter
PdfWriterคลาสแทน Doc Writer สำหรับ PDF คลาสนี้เป็นของแพ็คเกจcom.itextpdf.kernel.pdf. คอนสตรัคเตอร์ของคลาสนี้ยอมรับสตริงซึ่งแสดงถึงพา ธ ของไฟล์ที่จะสร้าง PDF
สร้างอินสแตนซ์คลาส PdfWriter โดยส่งค่าสตริง (แสดงถึงเส้นทางที่คุณต้องการสร้าง PDF) ไปยังตัวสร้างดังที่แสดงด้านล่าง
// Creating a PdfWriter
String dest = "C:/itextExamples/sample.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: การเพิ่มหน้าว่าง
addNewPage() วิธีการของ PdfDocument คลาสใช้เพื่อสร้างหน้าว่างในเอกสาร PDF
เพิ่มหน้าว่างในเอกสาร PDF ที่สร้างในขั้นตอนก่อนหน้าดังที่แสดงด้านล่าง
// Adding an empty page
pdfDoc.addNewPage();
ขั้นตอนที่ 4: การสร้างวัตถุเอกสาร
Document คลาสของแพ็คเกจ com.itextpdf.layoutเป็นองค์ประกอบหลักในขณะที่สร้าง PDF แบบพอเพียง หนึ่งในตัวสร้างของคลาสนี้ยอมรับอ็อบเจ็กต์ของคลาส PdfDocument
เริ่มต้นไฟล์ Document คลาสโดยส่งผ่านวัตถุของคลาส PdfDocument สร้างขึ้นในขั้นตอนก่อนหน้าตามที่แสดงด้านล่าง
// Creating a Document
Document document = new Document(pdfDoc);
ขั้นตอนที่ 5: การปิดเอกสาร
ปิดเอกสารโดยใช้ close() วิธีการของ Document คลาสดังที่แสดงด้านล่าง
// Closing the document
document.close();
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม Java ที่สาธิตการสร้างเอกสาร PDF สร้างเอกสาร PDF ที่มีชื่อsample.pdfเพิ่มหน้าว่างลงในหน้านั้นและบันทึกไว้ในเส้นทาง C:/itextExamples/
บันทึกรหัสนี้ในไฟล์ที่มีชื่อ create_PDF.java.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
public class create_PDF {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/sample.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
// Adding a new page
pdfDoc.addNewPage();
// Creating a Document
Document document = new Document(pdfDoc);
// Closing the document
document.close();
System.out.println("PDF Created");
}
}
คอมไพล์และเรียกใช้ไฟล์ Java ที่บันทึกไว้จากพรอมต์คำสั่งโดยใช้คำสั่งต่อไปนี้ -
javac create_PDF.java
java create_PDF
เมื่อดำเนินการโปรแกรมข้างต้นจะสร้างเอกสาร PDF โดยแสดงข้อความต่อไปนี้
PDF created
หากคุณตรวจสอบเส้นทางที่ระบุคุณจะพบเอกสาร PDF ที่สร้างขึ้นดังที่แสดงด้านล่าง
เนื่องจากนี่เป็นเอกสารเปล่าหากคุณพยายามเปิดเอกสารนี้เอกสารนี้จะแสดงข้อความแสดงข้อผิดพลาดดังที่แสดงในภาพหน้าจอต่อไปนี้