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# สองสามบรรทัด
- สร้างโครงการใหม่
- ดาวน์โหลด API ตามที่กล่าวไว้ด้านบนหรืออัปเดต API เป็นเวอร์ชันล่าสุด
- เพิ่มเนมสเปซต่อไปนี้:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- โหลดเอกสาร PDF โดยใช้คลาส Parser
// สร้างอินสแตนซ์ของคลาส Parser
using (Parser parser = new Parser("path/document.pdf"))
{
// รหัสของคุณไปที่นี่
}
- แยกรูปภาพออกจากเอกสารโดยใช้เมธอด GetImages
// แยกรูปภาพ
IEnumerable<PageImageArea> images = parser.GetImages();
// ตรวจสอบว่ารองรับการดึงรูปภาพหรือไม่
if (images == null)
{
Console.WriteLine("Images extraction isn't supported");
return;
}
- เข้าถึงแต่ละภาพจากคอลเลกชันและบันทึกโดยใช้วิธีการบันทึก
// วนซ้ำภาพที่ดึงมา
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 โดยใช้ C# ได้อย่างไร
อ่านเพิ่มเติม
คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API การสกัดข้อมูล .NET โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถแบ่งปันคำถามของคุณกับเราผ่านทาง ฟอรัม