Portable Document Format (PDF) เป็นรูปแบบเอกสารที่ได้รับความนิยมและใช้กันอย่างแพร่หลายซึ่งพัฒนาโดย Adobe เอกสาร PDF สามารถมีเนื้อหาที่หลากหลาย รวมถึงข้อความที่จัดรูปแบบ รูปภาพ คำอธิบายประกอบ ช่องแบบฟอร์ม ฯลฯ การแยกวิเคราะห์เอกสาร PDF โดยทางโปรแกรมเป็นกรณีการใช้งานที่ได้รับความนิยม และมีหลายวิธีในการแยกข้อความ อย่างไรก็ตาม การแยกรูปภาพออกจากเอกสาร PDF เป็นงานที่ซับซ้อน บทความนี้จะสาธิตวิธีง่ายๆ ที่คุณสามารถแยกรูปภาพจากเอกสาร PDF โดยทางโปรแกรมใน C#

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

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

คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ MSI ได้จาก ส่วนการดาวน์โหลด หรือติดตั้ง API ในแอปพลิเคชัน .NET ของคุณผ่านทาง NuGet

PM> Install-Package GroupDocs.Parser

ขั้นตอนในการแยกรูปภาพออกจากเอกสาร PDF โดยใช้ C#

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

  1. สร้างโครงการใหม่
  2. ดาวน์โหลด API ตามที่กล่าวไว้ด้านบนหรืออัปเดต API เป็นเวอร์ชันล่าสุด
  3. เพิ่มเนมสเปซต่อไปนี้:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. โหลดเอกสาร PDF โดยใช้คลาส Parser
// สร้างอินสแตนซ์ของคลาส Parser
using (Parser parser = new Parser("path/document.pdf"))
{
  // รหัสของคุณไปที่นี่
}
  1. แยกรูปภาพออกจากเอกสารโดยใช้เมธอด GetImages
// แยกรูปภาพ
IEnumerable<PageImageArea> images = parser.GetImages();

// ตรวจสอบว่ารองรับการดึงรูปภาพหรือไม่
if (images == null)
{
    Console.WriteLine("Images extraction isn't supported");
    return;
}
  1. เข้าถึงแต่ละภาพจากคอลเลกชันและบันทึกโดยใช้วิธีการบันทึก
// วนซ้ำภาพที่ดึงมา
foreach (PageImageArea image in images)
{
    // บันทึกภาพ
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

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

รหัสที่สมบูรณ์ C# - การดึงรูปภาพจาก PDF

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

// แยกรูปภาพจาก PDF โดยใช้ C#
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // ตรวจสอบว่ารองรับการดึงภาพหรือไม่
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // วนซ้ำภาพที่ดึงมา
    foreach (PageImageArea image in images)
    {
        // บันทึกภาพ
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}

ผล

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

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

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

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

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

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

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

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