PDF ซึ่งเป็นหนึ่งในรูปแบบไฟล์ที่ได้รับความนิยมสูงสุดมีการใช้งานโดยธุรกิจและอุตสาหกรรมเกือบทุกประเภท เอกสาร PDF สามารถมีเนื้อหาที่หลากหลาย รวมถึงข้อความที่จัดรูปแบบ รูปภาพ คำอธิบายประกอบ ฯลฯ บ่อยครั้งที่จำเป็นต้องแยกเนื้อหาออกจากไฟล์ PDF ในบทความนี้ เราจะพูดถึงวิธีการแยกรูปภาพจากเอกสาร PDF ใน Java โดยทางโปรแกรม

Java API เพื่อแยกรูปภาพออกจากไฟล์ PDF

GroupDocs มี GroupDocs.Parser สำหรับนักพัฒนา Java สำหรับการดึงรูปภาพจากไฟล์ PDF นอกจากไฟล์ PDF แล้ว API เดียวกันนี้ยังรองรับการแยกวิเคราะห์และการแยกรูปภาพจากรูปแบบเอกสารอื่นๆ ที่หลากหลาย เช่น เอกสารประมวลผลคำ สเปรดชีต eBooks งานนำเสนอ อีเมล ไฟล์ ZIP และ รูปแบบเอกสารอื่นๆ อีกมากมาย .

ดาวน์โหลดหรือกำหนดค่า

คุณสามารถดาวน์โหลดไฟล์ JAR ได้จาก ส่วนการดาวน์โหลด หรือเพียงแค่รับการกำหนดค่าพื้นที่เก็บข้อมูลและการพึ่งพาสำหรับ pom.xml ของแอปพลิเคชัน Java ที่ใช้ maven

<repository>
    <id>groupdocs-artifacts-repository</id>
    <name>GroupDocs Artifacts Repository</name>
    <url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-parser</artifactId>
    <version>22.11</version>
</dependency>

ขั้นตอนในการแยกรูปภาพจากเอกสาร PDF ใน Java

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

  1. สร้างโครงการใหม่
  2. ดาวน์โหลด API ตามที่กล่าวไว้ด้านบนหรืออัปเดต API เป็นเวอร์ชันล่าสุด
  3. นำเข้าคลาสต่อไปนี้:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
  1. โหลดเอกสาร PDF โดยใช้คลาส Parser
// โหลดไฟล์ PDF
try (Parser parser = new Parser("path/document.pdf")) {
    // รหัสการดึงรูปภาพอยู่ที่นี่
}
  1. แยกรูปภาพทั้งหมดออกจากเอกสารโดยใช้เมธอด getImages
// แยกรูปภาพออกจากไฟล์ที่โหลด
Iterable<PageImageArea> images = parser.getImages();
  1. เข้าถึงแต่ละภาพจากคอลเลกชันและบันทึกโดยใช้วิธีการบันทึก
// บันทึกไฟล์ด้วยนามสกุล
for (PageImageArea image : images)  {
    image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}

สามารถบันทึกรูปภาพในรูปแบบรูปภาพต่างๆ เช่น PNG, JPG, BMP, WebP หรือ GIF

Java Complete Code – การแยกรูปภาพจาก PDF

นี่คือซอร์สโค้ดที่สมบูรณ์ที่ช่วยให้คุณได้รับรูปภาพทั้งหมดจากไฟล์ PDF ที่ให้มา

// แยกรูปภาพจากไฟล์ PDF ใน Java
try (Parser parser = new Parser("path/document.pdf")) 
{
    // รับภาพ
    Iterable<PageImageArea> images = parser.getImages();
    
    // ตรวจสอบว่ารองรับการดึงรูปภาพหรือไม่
    if (images == null) 
    {
        System.out.println("Images extraction isn't supported");
        return;
    }
    
    int imageCounter = 0;
    // ทำซ้ำภาพที่แยกออกมา
    for (PageImageArea image : images) 
    {
        image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
    }
}

ผล

ตัวอย่างเอกสาร PDF

เอกสาร PDF ที่มีภาพที่จะแยก

รูปภาพที่แยกออกมา

ดึงรูปภาพจาก PDF

หากคุณต้องการ ยังมีคำอธิบายในบทความแยกต่างหากว่าคุณสามารถ [แยกรูปภาพออกจากหน้าใดหน้าหนึ่งของเอกสาร PDF ใน Java] ได้อย่างไร12

อ่านเพิ่มเติม

คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับการดึงข้อมูล Java API โดยใช้ เอกสารประกอบ คุณสามารถแบ่งปันคำถามของคุณกับเราผ่านทาง ฟอรัม

ดูสิ่งนี้ด้วย