หนังสืออิเล็กทรอนิกส์หรือที่นิยมเรียกว่า eBook เป็นหนังสือในรูปแบบดิจิทัลที่สามารถอ่านได้บนอุปกรณ์อิเล็กทรอนิกส์ต่างๆ อุปกรณ์เหล่านี้รวมถึง eReader เฉพาะ เช่น Kindle หรือแล็ปท็อป คอมพิวเตอร์เดสก์ท็อป และสมาร์ทโฟน มีรูปแบบไฟล์ eBooks ที่เป็นที่นิยมมากมายในตลาดซึ่งรวมถึง; EPUB, FictionBook FB2, Microsoft Compiled HTML Help - CHM, DjVu, MOBI, PDF และอื่นๆ อีกมากมาย ในฐานะโปรแกรมเมอร์ บทความนี้จะช่วยให้คุณสามารถแยกรูปภาพจาก eBooks โดยทางโปรแกรมใน C# ภายในแอปพลิเคชัน .NET
หัวข้อต่อไปนี้จะครอบคลุมด้านล่าง:
- .NET API สำหรับการดึงรูปภาพจาก eBook
- แยกรูปภาพจาก EPUB eBook ใน C#
- แยกรูปภาพจาก FB2, CHM eBooks ใน C#
.NET API สำหรับการดึงรูปภาพจาก eBook
สำหรับการดึงภาพจาก eBooks ฉันจะใช้ GroupDocs.Parser for .NET API ในตัวอย่าง C# ของบทความนี้ นอกเหนือจาก eBooks แล้ว API นี้ยังรองรับการแยกวิเคราะห์และการแยกรูปภาพจากเอกสารประมวลผลคำ สเปรดชีต PDF งานนำเสนอ อีเมล ไฟล์ ZIP และรูปแบบเอกสารอื่นๆ อีกมากมาย
คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ MSI ได้จาก ส่วนการดาวน์โหลด หรือติดตั้ง API ในแอปพลิเคชัน .NET ของคุณผ่านทาง NuGet
PM> Install-Package GroupDocs.Parser
แยกรูปภาพจาก EPUB eBook ใน C#
เริ่มจาก EPUB eBook เพื่อแยกวิเคราะห์สำหรับรูปภาพ ขั้นตอนต่อไปนี้ตามด้วยรหัส C# จะแยกวิเคราะห์ EPUB eBook และแยกรูปภาพทั้งหมดในนั้น
- สร้างวัตถุคลาส Parser
- ใช้เมธอด GetImages เพื่อแยกรูปภาพทั้งหมดของ EPUB eBook
- ข้ามภาพที่แยกออกมาเพื่อ บันทึก เหล่านี้ ทีละภาพ
รหัส C# ต่อไปนี้ใช้ขั้นตอนการแยกวิเคราะห์ที่กล่าวถึงเพื่อแยกวิเคราะห์ไปยัง EPUB eBook ที่แสดงด้านบน และบันทึกภาพแยกทีละภาพลงในดิสก์
// แยกวิเคราะห์ eBooks เพื่อแยกรูปภาพจากไฟล์ EPUB, FB2, CHM และบันทึกลงดิสก์ใน C#
using (Parser parser = new Parser("ebook.epub"))
{
// ดึงภาพจาก eBook
IEnumerable<PageImageArea> images = parser.GetImages();
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// วนซ้ำภาพที่แยกออกมา
foreach (PageImageArea image in images)
{
image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
imageNumber++;
}
}
ดังนั้น รูปภาพที่มีอยู่ทั้งหมดจะถูกบันทึก นี่คือหนึ่งในรูปภาพที่แสดงเป็นตัวอย่าง
คุณสามารถบันทึกรูปภาพที่แยกออกมาในรูปแบบไฟล์รูปภาพที่รองรับต่อไปนี้:
- JPG
- PNG
- เว็บ
- กิ๊ฟ
- ขสมก
แยกรูปภาพจาก FB2, CHM eBooks ใน C#
หากคุณมี eBook ใน FB2, CHM หรือรูปแบบอื่นๆ คุณสามารถแยกรูปภาพได้ด้วยวิธีเดียวกัน คุณต้องส่ง eBook ของคุณไปยังตัวสร้าง Parser ในขณะที่สร้างวัตถุ จากนั้นเมธอด GetImages จะแยกรูปภาพจาก eBook ใดๆ ที่ให้มาโดยใช้โค้ด C# เดียวกัน
// Pass the FB2, CHM, PDF, or any other eBook to Parser contructor
Parser parser = new Parser("ebook.fb2"); // FB2
// Parser parser = new Parser("ebook.chm"); // CHM
// Parser parser = new Parser("ebook.pdf"); // PDF
IEnumerable<PageImageArea> images = parser.GetImages();
บทสรุป
ฉันหวังว่าตอนนี้คุณจะสะดวกใจในการรับรูปภาพทั้งหมดจาก eBooks ด้วยโปรแกรม EPUB, FB2, CHM และรูปแบบไฟล์อื่นๆ ภายในแอปพลิเคชัน .NET ของคุณ คุณสามารถสร้างแอปพลิเคชันแยกรูปภาพของคุณเองได้โดยใช้ GroupDocs.Parser for .NET API
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ API คุณสามารถไปที่ เอกสาร หรือตัวอย่างโอเพ่นซอร์สได้ที่ GitHub สำหรับปัญหาเพิ่มเติม คุณสามารถติดต่อฝ่ายสนับสนุนด่วนได้ที่ ฟอรัม