วิธีการสกัดฟอนต์และบันทึกทรัพยากร 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 % เมื่อเทียบกับการทำการแยกวิเคราะห์ด้วยตนเอง.

ข้อกำหนดเบื้องต้น

ก่อนเริ่มทำตามบทเรียน โปรดตรวจสอบว่าคุณมีข้อกำหนดต่อไปนี้:

  1. Basic Knowledge of C# and .NET – ความคุ้นเคยกับภาษาโปรแกรม C# และ .NET framework เป็นสิ่งจำเป็นเพื่อทำตามตัวอย่างได้
  2. GroupDocs.Editor for .NET Library – ดาวน์โหลดและติดตั้งไลบรารี GroupDocs.Editor for .NET จาก website.
  3. 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

บทเรียนที่เกี่ยวข้อง