หนังสืออิเล็กทรอนิกส์หรือที่นิยมเรียกว่า eBook เป็นหนังสือในรูปแบบดิจิทัลที่สามารถอ่านได้บนอุปกรณ์อิเล็กทรอนิกส์ต่างๆ อุปกรณ์เหล่านี้รวมถึง eReader เฉพาะ เช่น Kindle หรือแล็ปท็อป คอมพิวเตอร์เดสก์ท็อป และสมาร์ทโฟน มีรูปแบบไฟล์ eBooks ที่เป็นที่นิยมมากมายในตลาดซึ่งรวมถึง; EPUB, FictionBook FB2, Microsoft Compiled HTML Help - CHM, DjVu, MOBI, PDF และอื่นๆ อีกมากมาย ในฐานะโปรแกรมเมอร์ บทความนี้จะช่วยให้คุณสามารถแยกรูปภาพจาก eBooks โดยทางโปรแกรมใน C# ภายในแอปพลิเคชัน .NET

หัวข้อต่อไปนี้จะครอบคลุมด้านล่าง:

.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
  • ข้ามภาพที่แยกออกมาเพื่อ บันทึก เหล่านี้ ทีละภาพ
อลิซ EPUB

EPUB eBook จาก Adobe [Sample eBook Library][12]

รหัส 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++;
    }
}
แยกรูปภาพจาก EPUB ใน C#

ดังนั้น รูปภาพที่มีอยู่ทั้งหมดจะถูกบันทึก นี่คือหนึ่งในรูปภาพที่แสดงเป็นตัวอย่าง

คุณสามารถบันทึกรูปภาพที่แยกออกมาในรูปแบบไฟล์รูปภาพที่รองรับต่อไปนี้:

  • 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 สำหรับปัญหาเพิ่มเติม คุณสามารถติดต่อฝ่ายสนับสนุนด่วนได้ที่ ฟอรัม

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