วิธีการสกัดฟอนต์และบันทึกทรัพยากร HTML ไปยังโฟลเดอร์
บทนำ
GroupDocs.Editor for .NET ให้คุณ how to extract fonts และทรัพยากรอื่น ๆ จากเอกสารขณะแปลงเป็น HTML เพียงไม่กี่บรรทัดของ C# คุณสามารถดึงรูปภาพ, Stylesheets, และไฟล์ฟอนต์ออกมา แล้วเก็บไว้ในโฟลเดอร์ที่คุณเลือก บทเรียนนี้จะพาคุณผ่านขั้นตอนทั้งหมด ตั้งแต่การเริ่มต้น Editor จนถึงการบันทึกแต่ละทรัพยากรลงดิสก์
คำตอบสั้น
- What does “how to extract fonts” mean? เป็นกระบวนการดึงไฟล์ฟอนต์ที่ฝังอยู่จากเอกสารต้นฉบับระหว่างการแปลงเป็น HTML.
- Which library handles this? GroupDocs.Editor for .NET มี API เฉพาะสำหรับการสกัดฟอนต์, รูปภาพ, และ Stylesheets.
- Do I need a license? มีการทดลองใช้ฟรี; จำเป็นต้องมีลิขสิทธิ์เชิงพาณิชย์สำหรับการใช้งานในสภาพแวดล้อมจริง.
- What .NET versions are supported? .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7.
- Can I target a custom folder? ได้, คุณสามารถระบุเส้นทางที่เขียนได้เมื่อบันทึกทรัพยากรที่สกัดออกมา.
“how to extract fonts” คืออะไร
How to extract fonts หมายถึงการดึงไฟล์ฟอนต์ต้นฉบับที่ฝังอยู่ในเอกสารต้นทาง (เช่น DOCX, PPTX) เพื่อให้สามารถอ้างอิงได้โดย HTML ที่สร้างขึ้น ซึ่งทำให้ข้อความแสดงผลตรงตามที่ต้องการในเบราว์เซอร์โดยไม่ต้องพึ่งพาฟอนต์ของระบบ.
ทำไมต้องใช้ GroupDocs.Editor สำหรับการสกัดทรัพยากร HTML
GroupDocs.Editor รองรับ 50+ input and output formats—รวมถึง DOCX, PPTX, PDF, และ HTML—และสามารถประมวลผลเอกสารที่มี up to 300 pages ได้โดยไม่ต้องโหลดไฟล์ทั้งหมดเข้าสู่หน่วยความจำ API ของมันสกัดฟอนต์, รูปภาพ, และ CSS ในขั้นตอนเดียว ลดเวลาในการพัฒนาถึง 70 % เมื่อเทียบกับการทำการแยกวิเคราะห์ด้วยตนเอง.
ข้อกำหนดเบื้องต้น
ก่อนเริ่มทำตามบทเรียน โปรดตรวจสอบว่าคุณมีข้อกำหนดต่อไปนี้:
- Basic Knowledge of C# and .NET – ความคุ้นเคยกับภาษาโปรแกรม C# และ .NET framework เป็นสิ่งจำเป็นเพื่อทำตามตัวอย่างได้
- GroupDocs.Editor for .NET Library – ดาวน์โหลดและติดตั้งไลบรารี GroupDocs.Editor for .NET จาก website.
- Development Environment – ตั้งค่าสภาพแวดล้อมการพัฒนาที่คุณต้องการ เช่น Visual Studio หรือ IDE ที่เข้ากันได้อื่น ๆ
นำเข้า Namespaces
เพื่อเริ่มต้น ให้นำเข้า Namespaces ที่จำเป็นในโปรเจกต์ C# ของคุณ:
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Editor.HtmlCss.Resources.Fonts;
using GroupDocs.Editor.HtmlCss.Resources.Images;
using GroupDocs.Editor.HtmlCss.Resources.Textual;
using GroupDocs.Editor.Options;
วิธีสกัดฟอนต์และบันทึกทรัพยากร HTML ไปยังโฟลเดอร์?
โหลดเอกสารต้นฉบับของคุณด้วย Editor editor = new Editor("sample.docx", new WordProcessingLoadOptions()); จากนั้นเรียก editor.Save("output.html", SaveOptions.Html); หลังจากการบันทึก คอลเลกชัน Resources จะมีทรัพยากรที่สกัดทั้งหมด—รวมถึงฟอนต์—ที่คุณสามารถวนลูปและเขียนลงดิสก์ วิธีการแบบขั้นตอนเดียวนี้จัดการทั้งการแปลงและการสกัดทรัพยากรโดยอัตโนมัติ
ขั้นตอนที่ 1: เริ่มต้น GroupDocs.Editor
Editor เป็นคลาสหลักที่ประสานการโหลดเอกสาร, การแปลง, และการสกัดทรัพยากร มันเป็นตัวแทนของเซสชันเอกสารเดียวในหน่วยความจำ.
using (Editor editor = new Editor("Your Sample Document", delegate { return new WordProcessingLoadOptions(); }))
{
ขั้นแรก ให้เริ่มต้นอ็อบเจ็กต์ Editor โดยระบุพาธไปยังเอกสารตัวอย่างของคุณ ในตัวอย่างนี้ เราใช้เอกสาร Word ดังนั้นเราจึงระบุ WordProcessingLoadOptions เป็นประเภทของเอกสาร.
ขั้นตอนที่ 2: แก้ไขเอกสาร
EditableDocument เป็นตัวแทนที่สามารถแก้ไขได้ซึ่งคืนค่าจากเมธอด Edit ทำให้คุณสามารถจัดการเอกสารก่อนบันทึกได้.
using (EditableDocument document = editor.Edit(new WordProcessingEditOptions()))
{
ต่อไป สร้างอ็อบเจ็กต์ EditableDocument โดยเรียกเมธอด Edit ของอ็อบเจ็กต์ Editor ซึ่งทำให้คุณสามารถทำการแก้ไขบนเอกสารได้.
ขั้นตอนที่ 3: สกัดทรัพยากร
Resources เป็นคอลเลกชันที่จัดกลุ่มทรัพยากรที่สกัด—รูปภาพ, ฟอนต์, และ Stylesheets—เป็นรายการแยกต่างหากเพื่อความสะดวกในการจัดการ.
List<IImageResource> images = document.Images;
List<FontResourceBase> fonts = document.Fonts;
List<CssText> stylesheets = document.Css;
สกัดทรัพยากรเช่นรูปภาพ, ฟอนต์, และ Stylesheets จากเอกสารและเก็บไว้ในรายการที่สอดคล้องกัน.
ขั้นตอนที่ 4: ระบุโฟลเดอร์ปลายทาง
outputFolder เป็นสตริงที่กำหนดตำแหน่งที่ไฟล์ที่สกัดจะถูกเขียน คุณสามารถชี้ไปยังไดเรกทอรีที่เขียนได้บนเซิร์ฟเวอร์หรือเครื่องท้องถิ่นใด ๆ.
string outputFolder = Constants.GetOutputDirectoryPath("Your Sample Document");
กำหนดโฟลเดอร์ปลายทางที่ทรัพยากรที่สกัดจะถูกบันทึก คุณสามารถปรับแต่งพาธของโฟลเดอร์ตามความต้องการของคุณ.
ขั้นตอนที่ 5: บันทึกทรัพยากร
SaveResource เป็นฟังก์ชันช่วยเหลือที่เขียนทรัพยากรไบนารีเดียว (รูปภาพ, ฟอนต์, หรือ Stylesheet) ไปยังระบบไฟล์.
foreach (IImageResource oneImage in images)
{
Console.WriteLine("Saving {0} of {1} type and {2} dimensions",
oneImage.FilenameWithExtension, oneImage.Type.FormalName, oneImage.LinearDimensions);
oneImage.Save(Path.Combine(outputFolder, oneImage.FilenameWithExtension));
}
วนลูปผ่านแต่ละทรัพยากรรูปภาพ, บันทึกลงโฟลเดอร์ปลายทาง, และแสดงข้อมูลที่เกี่ยวข้องเช่นชื่อไฟล์, ประเภท, และขนาด.
foreach (FontResourceBase oneFont in fonts)
{
Console.WriteLine("Saving {0} of {1} type",
oneFont.FilenameWithExtension, oneFont.Type.FormalName);
oneFont.Save(Path.Combine(outputFolder, oneFont.FilenameWithExtension));
}
เช่นเดียวกัน, บันทึกแต่ละทรัพยากรฟอนต์ลงโฟลเดอร์ปลายทาง.
foreach (CssText oneStylesheet in stylesheets)
{
Console.WriteLine("Saving {0} of {1} type and {2} encoding",
oneStylesheet.FilenameWithExtension, oneStylesheet.Type.FormalName, oneStylesheet.Encoding);
oneStylesheet.Save(Path.Combine(outputFolder, oneStylesheet.FilenameWithExtension));
}
}
}
สุดท้าย, บันทึกแต่ละ Stylesheet ลงโฟลเดอร์ปลายทางและเสร็จสิ้นกระบวนการแก้ไข.
ปัญหาที่พบบ่อยและวิธีแก้
- Missing fonts after conversion – ตรวจสอบว่าเอกสารต้นทางฝังฟอนต์จริงหรือไม่; หากไม่, GroupDocs.Editor จะอ้างอิงฟอนต์ของระบบเท่านั้น.
- Access denied errors – ยืนยันว่ากระบวนการแอปพลิเคชันมีสิทธิ์เขียนไปยังโฟลเดอร์ปลายทาง.
- Large documents cause high memory usage – ใช้
LoadOptionsกับLoadMode = LoadMode.Streamเพื่อสตรีมไฟล์ขนาดใหญ่แทนการโหลดทั้งหมดเข้าสู่หน่วยความจำ.
คำถามที่พบบ่อย
Q: GroupDocs.Editor รองรับรูปแบบเอกสารอื่น ๆ นอกจาก Word หรือไม่?
A: ใช่, รองรับ Excel, PowerPoint, PDF, HTML, และรูปแบบเพิ่มเติมกว่า 50 รูปแบบสำหรับการแก้ไขและการสกัดทรัพยากร
Q: ฉันสามารถรวม GroupDocs.Editor เข้าในเว็บแอปพลิเคชันได้หรือไม่?
A: แน่นอน. API ทำงานอย่างราบรื่นกับ ASP.NET Core, MVC, และโครงการ Web API ทำให้คุณสามารถประมวลผลเอกสารบนฝั่งเซิร์ฟเวอร์ได้
Q: GroupDocs.Editor มีการรวมการจัดเก็บข้อมูลบนคลาวด์หรือไม่?
A: มี, มีคอนเนคเตอร์ในตัวสำหรับ Google Drive, Dropbox, OneDrive, และ Amazon S3 ทำให้สามารถโหลดและบันทึกเอกสารโดยตรงบนคลาวด์ได้
Q: มีการทดลองใช้ฟรีสำหรับ GroupDocs.Editor หรือไม่?
A: สามารถดาวน์โหลดการทดลองใช้เต็มรูปแบบ 30‑วันจากเว็บไซต์ GroupDocs โดยไม่ต้องใช้บัตรเครดิต
Q: ฉันจะรับการสนับสนุนด้านเทคนิคสำหรับปัญหาการสกัดได้อย่างไร?
A: คุณสามารถติดต่อทีมสนับสนุนของ GroupDocs ผ่านฟอรั่มอย่างเป็นทางการ, ส่งตั๋วผ่านพอร์ทัลลูกค้า, หรือศึกษาคู่มือ API อย่างละเอียด
อัปเดตล่าสุด: 2026-05-12
ทดสอบด้วย: GroupDocs.Editor 23.11 for .NET
ผู้เขียน: GroupDocs