ใน โพสต์ก่อนหน้า เราได้พูดถึงวิธีการแยกรูปภาพจากเอกสารใน Java วันนี้เราจะพยายามบรรลุวัตถุประสงค์เดียวกันโดยใช้ C# ไม่ต้องกังวลหากคุณไม่ได้เยี่ยมชมโพสต์ที่แล้ว ในบทความนี้ เราจะเรียนรู้วิธีการแยกรูปภาพโดยใช้โปรแกรมจากเอกสาร PDF, Excel, PowerPoint และ Word ในแอปพลิเคชัน C# โดยใช้การแยกวิเคราะห์เอกสาร .NET API

หัวข้อต่อไปนี้จะครอบคลุมที่นี่:
- รูปภาพ ข้อความ และการแยกข้อมูลเมตา .NET API
- การสกัดรูปภาพจากเอกสาร PDF
- แยกรูปภาพจากเอกสาร Word, Excel, PowerPoint
- แยกรูปภาพจากหน้าเฉพาะ
- รูปแบบที่รองรับสำหรับการสกัดรูปภาพ
รูปภาพ ข้อความ และการแยกข้อมูลเมตา .NET API

GroupDocs.Parser for .NET คือการแยกวิเคราะห์เอกสารและการดึงข้อมูล .NET API รองรับการแยกวิเคราะห์เอกสารและแยกรูปภาพ ข้อความ และข้อมูลเมตาจากเอกสารประมวลผลคำ สเปรดชีต งานนำเสนอ เอกสารสำคัญ และเอกสารอีเมล ในตอนท้ายของบทความ [กล่าวถึง] รูปแบบเอกสารได้รับการรองรับโดย API สำหรับการดึงรูปภาพ
ในบทความนี้ เราจะใช้ API นี้ ดังนั้นฉันขอแนะนำให้ ดาวน์โหลด ไบนารีหรือติดตั้ง API จาก NuGet เพื่อเตรียมสภาพแวดล้อม
แยกรูปภาพจากเอกสาร PDF ใน C#

คุณสามารถดึงภาพทั้งหมดจากเอกสาร PDF ได้อย่างง่ายดายโดยทำตามขั้นตอนง่ายๆ เหล่านี้
- สร้างอินสแตนซ์ของวัตถุคลาส Parser ด้วยเอกสารต้นฉบับ
- เรียกใช้เมธอด GetImages ของคลาส Parser เพื่อรับคอลเลกชันของรูปภาพทั้งหมดในออบเจ็กต์ PageImageArea
- วนซ้ำ PageImageArea เพื่อให้ได้ทุกภาพ
- บันทึกภาพลงในดิสก์โดยใช้เมธอด Save ของ PageImageArea
รูปภาพที่แยกออกมาสามารถบันทึกในรูปแบบ BMP, GIF, JPEG, PNG และ WebP รหัสที่สมบูรณ์แสดงอยู่ด้านล่างเพื่อสาธิตขั้นตอนทั้งหมด
// แยกรูปภาพจาก Word, Excel, PPT, PDF ใน C# โดยใช้ GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
IEnumerable<PageImageArea> images = parser.GetImages();
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// วนซ้ำภาพที่ดึงมา
foreach (PageImageArea image in images)
{
// บันทึกรูปภาพและพิมพ์ดัชนีหน้า สี่เหลี่ยมผืนผ้า และประเภทรูปภาพ:
Console.WriteLine(string.Format("Page: {0}, R: {1}, Type: {2}", image.Page.Index, image.Rectangle, image.FileType));
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
imageNumber++;
}
}

แยกรูปภาพจากไฟล์ Word, Excel, PowerPoint ใน C#
ไม่จำกัดเพียงแค่รูปแบบ PDF เราสามารถนำรูปภาพทั้งหมดออกจากเอกสารประมวลผลคำ สเปรดชีต งานนำเสนอ ด้วยฐานรหัสที่ไม่เปลี่ยนแปลง เพียงเปลี่ยนเส้นทางเอกสารต้นทางด้วยนามสกุลไฟล์ เอกสารของคุณจะถูกแยกวิเคราะห์เพื่อแยกและบันทึกรูปภาพทั้งหมดลงในดิสก์
using (Parser parser = new Parser("path/document.docx")) // Word Document
// using (Parser parser = new Parser("path/document.xlsx")) // Excel Spreadhseet
// using (Parser parser = new Parser("path/document.pptx")) // Presentation
// using (Parser parser = new Parser("path/document.pdf")) // PDF Document
การดึงรูปภาพจากหน้าเอกสารเฉพาะใน C#
หากคุณต้องการแยกรูปภาพออกจากหน้าใดหน้าหนึ่งของเอกสาร สามารถทำได้โดยง่ายโดยใช้ขั้นตอนด้านล่างและโค้ด C#
- รับข้อมูลเกี่ยวกับเอกสารโดยใช้เมธอด GetDocumentInfo
- จากข้อมูลเอกสาร ให้นำ PageCount และข้อมูลอื่นๆ ทั้งหมดออก
- ใช้เมธอด GetImages(pageIndex) และส่งดัชนีหน้าเป้าหมายของคุณไปให้
- ในการบันทึกภาพที่ดึงมา ให้สำรวจคอลเลกชันรูปภาพ และบันทึกภาพแต่ละภาพโดยใช้เมธอด Save
// แยกรูปภาพจากหน้าเฉพาะของ Word, Excel, PowerPoint, PDF ใน C# โดยใช้ GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
// รับข้อมูลเอกสาร
IDocumentInfo documentInfo = parser.GetDocumentInfo();
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// ทำซ้ำผ่านหน้า
for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
{
// พิมพ์หมายเลขหน้า
Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
// ทำซ้ำภาพ ละเว้นการตรวจสอบค่าว่างในตัวอย่าง
foreach (PageImageArea image in parser.GetImages(pageIndex))
{
// พิมพ์สี่เหลี่ยมผืนผ้าและประเภทรูปภาพ
Console.WriteLine(string.Format("R: {0}, Text: {1}", image.Rectangle, image.FileType));
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
imageNumber++;
}
}
}
รูปแบบที่รองรับสำหรับการสกัดรูปภาพใน C#
ต่อไปนี้เป็นรูปแบบเอกสารที่ได้รับการสนับสนุนโดย GroupDocs.Parser for .NET API สำหรับการแยกอิมเมจ
ประเภทเอกสาร | รูปแบบไฟล์ |
---|---|
เอกสารประมวลผลคำ | DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF |
สเปรดชีต | XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, ตัวเลข |
งานนำเสนอ | PPT, PPTX, PPTM, PPS, PPSX, PPSM, หม้อ, POTX, POTM, ODP, OTP |
เอกสารพกพา | |
อีเมล | EML, EMLX, ผงชูรส |
หอจดหมายเหตุ | รหัสไปรษณีย์ |
เพิ่มเติมเกี่ยวกับ GroupDocs.Parser
มาคุยกันต่อ @ ฟอรัมสนับสนุนฟรี