Встроить шрифт в PDF-файл

В этом уроке мы обсудим, как встраивать шрифты в файл PDF с помощью Aspose.PDF для .NET. Aspose.PDF для .NET — это мощная библиотека, которая позволяет разработчикам программно создавать, редактировать и манипулировать PDF-документами. Эта библиотека предоставляет широкий спектр функций для работы с PDF-документами, включая добавление текста, изображений, таблиц и многое другое. Встраивание шрифтов в PDF-файл — обычное требование для разработчиков, которые хотят обеспечить правильное отображение PDF-файла на разных устройствах, независимо от того, установлены ли на этих устройствах необходимые шрифты или нет.

Шаг 1. Создайте новое консольное приложение C#.

Для начала создайте новое консольное приложение C# в Visual Studio. Вы можете назвать его как угодно. После создания проекта вам необходимо добавить ссылку на библиотеку Aspose.PDF for .NET.

Шаг 2. Импортируйте пространство имен Aspose.PDF.

Добавьте следующую строку кода в начало вашего файла C#, чтобы импортировать пространство имен Aspose.PDF:

using Aspose.Pdf;

Шаг 3. Загрузите существующий PDF-файл

Чтобы встроить шрифты в существующий PDF-файл, вам необходимо загрузить этот файл с помощью класса Document. Следующий код демонстрирует, как загрузить существующий PDF-файл:

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Загрузите существующий PDF-файл
Document doc = new Document(dataDir + "input.pdf");

Шаг 4. Пройдитесь по всем страницам.

После загрузки PDF-файла вам необходимо просмотреть все страницы документа. Для каждой страницы вам необходимо проверить, используются ли какие-либо шрифты, и если да, то вам необходимо встроить эти шрифты. Следующий код демонстрирует, как перебрать все страницы PDF-файла и встроить шрифты:

foreach (Page page in doc.Pages)
{
    if (page.Resources.Fonts != null)
    {
        foreach (Aspose.Pdf.Text.Font pageFont in page.Resources.Fonts)
        {
            // Проверьте, встроен ли уже шрифт
            if (!pageFont.IsEmbedded)
                pageFont.IsEmbedded = true;
        }
    }

    // Проверьте объекты формы
    foreach (XForm form in page.Resources.Forms)
    {
        if (form.Resources.Fonts != null)
        {
            foreach (Aspose.Pdf.Text.Font formFont in form.Resources.Fonts)
            {
                // Проверьте, встроен ли шрифт
                if (!formFont.IsEmbedded)
                    formFont.IsEmbedded = true;
            }
        }
    }
}

Шаг 5. Сохраните PDF-документ.

После того как вы встроили все шрифты в PDF-файл, вам необходимо сохранить документ. Следующий код демонстрирует, как сохранить файл PDF:

dataDir = dataDir + "EmbedFont_out.pdf";
// Сохранить PDF-документ
doc.Save(dataDir);

Console.WriteLine("\nFont embedded successfully in a PDF file.\nFile saved at " + dataDir);

Пример исходного кода для встраивания шрифта с использованием Aspose.PDF для .NET

Вот полный исходный код для встраивания шрифта с помощью Aspose.PDF для .NET.

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Загрузить существующие PDF-файлы
Document doc = new Document(dataDir + "input.pdf");

// Перебрать все страницы
foreach (Page page in doc.Pages)
{
	if (page.Resources.Fonts != null)
	{
		foreach (Aspose.Pdf.Text.Font pageFont in page.Resources.Fonts)
		{
			// Проверьте, встроен ли уже шрифт
			if (!pageFont.IsEmbedded)
				pageFont.IsEmbedded = true;
		}
	}

	// Проверьте объекты формы
	foreach (XForm form in page.Resources.Forms)
	{
		if (form.Resources.Fonts != null)
		{
			foreach (Aspose.Pdf.Text.Font formFont in form.Resources.Fonts)
			{
				// Проверьте, встроен ли шрифт
				if (!formFont.IsEmbedded)
					formFont.IsEmbedded = true;
			}
		}
	}
}
dataDir = dataDir + "EmbedFont_out.pdf";
// Сохранить PDF-документ
doc.Save(dataDir);

Console.WriteLine("\nFont embedded successfully in a PDF file.\nFile saved at " + dataDir);

Заключение: вставить шрифт в PDF-файл

В этой статье мы обсудили, как встраивать шрифты в файл PDF с помощью Aspose.PDF для .NET. Aspose.PDF для .NET предоставляет простой и удобный API для работы с PDF-документами, включая добавление и встраивание шрифтов. Встраивание шрифтов в PDF-файл — важный шаг для обеспечения корректного отображения документа на разных устройствах, независимо от того, установлены ли на этих устройствах необходимые шрифты.

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

Вопрос: Почему важно встраивать шрифты в PDF-файл?

О: Встраивание шрифтов в PDF-файл необходимо для обеспечения правильного отображения документа на различных устройствах и системах. Встроенные шрифты становятся частью PDF-файла, устраняя зависимость от внешних шрифтов, установленных на устройстве просмотра.

Вопрос: Могу ли я встроить все используемые шрифты в PDF-файл?

О: Да, вы можете встроить все шрифты, используемые в PDF-файл. Aspose.PDF для .NET обеспечивает простой подход к перебору всех шрифтов, используемых в PDF-файле, и их встраиванию для обеспечения точного рендеринга на различных устройствах.

Вопрос: Совместим ли Aspose.PDF для .NET с различными форматами шрифтов?

О: Да, Aspose.PDF для .NET поддерживает различные форматы шрифтов, включая шрифты TrueType, OpenType, Type 1 и CFF. Он может вставлять шрифты в файл PDF независимо от их формата.

Вопрос: Увеличивает ли встраивание шрифтов размер файла PDF-документа?

О: Да, встраивание шрифтов в PDF-документ может увеличить размер файла, поскольку данные шрифта включены в сам PDF-файл. Однако это гарантирует, что внешний вид документа останется неизменным независимо от наличия шрифта на устройстве просмотра.

Вопрос: Могу ли я настроить процесс встраивания шрифтов?

О: Да, Aspose.PDF для .NET позволяет вам настраивать процесс встраивания шрифтов. Вы можете выбрать, какие шрифты встраивать, исключить определенные шрифты или встроить только определенные подмножества шрифта, чтобы оптимизировать размер файла.