บทช่วยสอนสั้นๆ นี้จะแนะนำคุณเกี่ยวกับ วิธีอ่านไฟล์ PDF ใน Java ประกอบด้วย โค้ด Java สำหรับอ่านไฟล์ PDF โดยก่อนอื่น ให้คุณอ่านข้อความจาก PDF ใน Java เป็นสตริง จากนั้นดึงรูปภาพทั้งหมดจากไฟล์ PDF เพื่อบันทึกลงในดิสก์เป็น JPG. ไม่จำเป็นต้องติดตั้งเครื่องมือของบุคคลที่สามเพื่อ อ่าน PDF ใน Java
ขั้นตอนในการอ่านไฟล์ PDF ใน Java
- กำหนดค่า Aspose.PDF ในโครงการของคุณโดยใช้ที่เก็บ Maven เพื่ออ่านไฟล์ PDF
- โหลดไฟล์ PDF ตัวอย่างลงในวัตถุคลาส Document
- ยกตัวอย่างวัตถุคลาส TextAbsorber ที่สามารถอ่านข้อความทั้งหมดจากไฟล์ PDF
- อ่านข้อความ PDF จากไฟล์ที่โหลดโดยใช้วัตถุคลาส TextAbsorber
- แสดงข้อความทั้งหมดที่อ่านจากไฟล์ PDF บนคอนโซล
- วนซ้ำทุกหน้าในไฟล์ PDF เพื่อเข้าถึงรูปภาพ
- แยกรูปภาพทั้งหมดในแต่ละคอลเลคชันรูปภาพและบันทึกลงในแผ่นดิสก์
ในบทช่วยสอนแบบทีละขั้นตอนอย่างรวดเร็วนี้ ขั้นแรกเราจะโหลดไฟล์ PDF เป้าหมาย จากนั้นจึงเริ่มต้นออบเจกต์คลาส TextAbsorber ที่สามารถค้นหาข้อความผ่านทุกหน้าใน PDF ข้อความทั้งหมดนี้จะถูกส่งกลับเป็นสตริงที่สามารถแสดงหรือประมวลผลตามความต้องการ ในทำนองเดียวกัน เราสามารถแยกวิเคราะห์ภาพทั้งหมดในคอลเลกชันภาพและบันทึกลงในแผ่นดิสก์ในรูปแบบใดก็ได้ตามที่เราบันทึกเป็น JPG ในบทช่วยสอนนี้
รหัสเพื่ออ่าน PDF โดยใช้ Java
import com.aspose.pdf.License; | |
import com.aspose.pdf.Document; | |
import com.aspose.pdf.Page; | |
import com.aspose.pdf.TextAbsorber; | |
import com.aspose.pdf.XImage; | |
public class HowToReadPDFFileInJava { | |
public static void main(String[] args) throws Exception {//main() function for HowToReadPDFFileInJava | |
// Instantiate the license to remove trial version restrictions while reading the PDF file | |
License license = new License(); | |
license.setLicense("Aspose.PDF.lic"); | |
// Load the PDF file from which text and images are to be read | |
Document pdf = new Document("Input.pdf"); | |
// 1. Read entire text from the PDF file | |
// Instantiate a TextAbsorber Class object to read Text from PDF file | |
TextAbsorber textAbsorberObject = new TextAbsorber(); | |
// Call PageCollection.accept() method to let TextAbsorber find text in PDF Pages | |
pdf.getPages().accept(textAbsorberObject); | |
// Write the extracted text from the sample PDF to console | |
System.out.println(textAbsorberObject.getText()); | |
// 2. Extract images from PDF file | |
int imageCount = 1; | |
// Iterate through all the PDF pages to access images collection and save them on the disc | |
for (Page pdfPage : pdf.getPages()) | |
{ | |
// Iterate through images collection in the PDF file | |
for (XImage image : pdfPage.getResources().getImages()) | |
{ | |
java.io.FileOutputStream outputImageFromPdfFile = new java.io.FileOutputStream(pdfPage.getNumber() + "-"+ imageCount+"-output.jpg"); | |
// Save each image in the PDF file images collection to a JPG file | |
image.save(outputImageFromPdfFile); | |
outputImageFromPdfFile.close(); | |
imageCount++; | |
} | |
// Reset image index | |
imageCount = 1; | |
} | |
} | |
} |
ในโค้ดตัวอย่างนี้ เราใช้คลาส TextAbsorber และฟังก์ชัน getImages() ของ Page.getResources() เพื่อ อ่าน PDF โดยใช้ Java วัตถุ TextAbsorber ใช้เพื่ออ่านข้อความโดยฟังก์ชันยอมรับใน PDF PageCollection ในขณะที่ฟังก์ชัน getImages() ของคอลเลกชัน getResources() จะส่งคืนรูปภาพทั้งหมดในหน้า
โปรดทราบว่าขั้นตอนเหล่านี้ในการอ่าน PDF ใน Java สามารถทำได้ในระบบปฏิบัติการใดๆ เช่น Windows, Linux หรือ macOS หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการทำงานกับไฟล์ PDF โปรดดูบทความใน วิธีอ่านบุ๊กมาร์กใน PDF โดยใช้ Java