Как извлечь шрифты и сохранить HTML-ресурсы в папку

Введение

GroupDocs.Editor for .NET позволяет вам как извлечь шрифты и другие ресурсы из документа при его конвертации в HTML. В нескольких строках C# вы можете извлечь изображения, таблицы стилей и файлы шрифтов, а затем сохранить их в выбранную вами папку. Это руководство проведёт вас через весь процесс, от инициализации редактора до сохранения каждого ресурса на диск.

Быстрые ответы

  • Что означает “how to extract fonts”? Это процесс получения встроенных файлов шрифтов из исходного документа во время конвертации в HTML.
  • Какая библиотека обрабатывает это? GroupDocs.Editor for .NET предоставляет специальный API для извлечения шрифтов, изображений и таблиц стилей.
  • Нужна ли лицензия? Доступна бесплатная пробная версия; коммерческая лицензия требуется для использования в продакшене.
  • Какие версии .NET поддерживаются? .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6/7.
  • Можно ли указать пользовательскую папку? Да, вы можете указать любой доступный для записи путь при сохранении извлечённых ресурсов.

Что такое “how to extract fonts”?

How to extract fonts относится к получению оригинальных файлов шрифтов, встроенных в исходный документ (например, DOCX, PPTX), чтобы они могли быть использованы в сгенерированном HTML. Это гарантирует, что текст отображается точно так, как задумано, в браузерах без зависимости от системных шрифтов.

Зачем использовать GroupDocs.Editor для извлечения HTML-ресурсов?

GroupDocs.Editor поддерживает более 50 форматов ввода и вывода — включая DOCX, PPTX, PDF и HTML — и может обрабатывать документы с до 300 страницами без загрузки всего файла в память. Его API извлекает шрифты, изображения и CSS за один проход, сокращая время разработки до 70 % по сравнению с ручным разбором.

Требования

Прежде чем приступить к руководству, убедитесь, что у вас есть следующие требования:

  1. Базовые знания C# и .NET – Знание языка программирования C# и платформы .NET необходимо для понимания примеров.
  2. Библиотека GroupDocs.Editor for .NET – Скачайте и установите библиотеку GroupDocs.Editor for .NET с веб‑сайта.
  3. Среда разработки – Настройте предпочитаемую среду разработки, такую как Visual Studio или любую другую совместимую IDE.

Импорт пространств имён

Чтобы начать, импортируйте необходимые пространства имён в ваш проект 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 — коллекция, группирующая извлечённые ресурсы — изображения, шрифты и таблицы стилей — в отдельные списки для удобного управления.

		List<IImageResource> images = document.Images;
		List<FontResourceBase> fonts = document.Fonts;
		List<CssText> stylesheets = document.Css;

Извлеките ресурсы, такие как изображения, шрифты и таблицы стилей, из документа и сохраните их в соответствующих списках.

Шаг 4: Указание папки вывода

outputFolder — строка, определяющая, куда будут записаны извлечённые файлы. Вы можете указать любой каталог, доступный для записи, на сервере или локальном компьютере.

		string outputFolder = Constants.GetOutputDirectoryPath("Your Sample Document");

Определите папку вывода, куда будут сохраняться извлечённые ресурсы. Вы можете настроить путь к папке в соответствии с вашими требованиями.

Шаг 5: Сохранение ресурсов

SaveResource — вспомогательная процедура, записывающая один бинарный ресурс (изображение, шрифт или таблицу стилей) в файловую систему.

		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));
		}
	}
}

Наконец, сохраните каждую таблицу стилей в папку вывода и завершите процесс редактирования.

Распространённые проблемы и решения

  • Отсутствие шрифтов после конвертации – Убедитесь, что исходный документ действительно встраивает шрифты; иначе GroupDocs.Editor может ссылаться только на системные шрифты.
  • Ошибки доступа (Access denied) – Проверьте, что процесс приложения имеет права записи в целевую папку вывода.
  • Большие документы вызывают высокое использование памяти – Используйте LoadOptions с LoadMode = LoadMode.Stream, чтобы потоково обрабатывать большие файлы вместо полной загрузки их в память.

Часто задаваемые вопросы

В: Совместим ли GroupDocs.Editor с другими форматами документов, помимо Word?
О: Да, он поддерживает Excel, PowerPoint, PDF, HTML и более 50 дополнительных форматов как для редактирования, так и для извлечения ресурсов.

В: Могу ли я интегрировать GroupDocs.Editor в веб‑приложение?
О: Конечно. API без проблем работает с проектами ASP.NET Core, MVC и Web API, позволяя обрабатывать документы на стороне сервера.

В: Предоставляет ли GroupDocs.Editor интеграцию с облачным хранилищем?
О: Да, он включает встроенные коннекторы для Google Drive, Dropbox, OneDrive и Amazon S3, позволяя напрямую загружать и сохранять документы в облаке.

В: Доступна ли бесплатная пробная версия GroupDocs.Editor?
О: Полнофункциональная 30‑дневная пробная версия доступна для скачивания с сайта GroupDocs без требования ввода данных кредитной карты.

В: Как получить техническую поддержку по вопросам извлечения?
О: Вы можете связаться с командой поддержки GroupDocs через официальный форум, отправить запрос через клиентский портал или ознакомиться с подробной документацией API.


Последнее обновление: 2026-05-12
Тестировано с: GroupDocs.Editor 23.11 for .NET
Автор: GroupDocs

Связанные руководства