Заменить отсутствующие шрифты

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

Предварительные условия

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

  • Базовые знания языка программирования C#.
  • Библиотека Aspose.PDF для .NET, установленная в вашей системе.
  • Среда разработки, такая как Visual Studio.

Шаг 1. Найдите недостающий шрифт

Первый шаг — найти недостающий шрифт в PDF-файле. Используйте следующий код:

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

Aspose.Pdf.Text.Font originalFont = null;
try
{
     // Найдите оригинальный шрифт
     originalFont = FontRepository.FindFont("AgencyFB");
}
catch(Exception)
{
     // Шрифт отсутствует на целевом компьютере
     // Добавьте простую замену шрифта
     FontRepository.Substitutions.Add(new SimpleFontSubstitution("AgencyFB", "Arial"));
}

Обязательно замените"YOUR DOCUMENTS DIRECTORY" с фактическим каталогом, в котором находится ваш PDF-файл.

Шаг 2. Замените отсутствующий шрифт

Далее мы заменим отсутствующий шрифт другим доступным шрифтом. Используйте следующий код:

var fileNew = new FileInfo(dataDir + "newfile_out.pdf");
var pdf = new Document(dataDir + "input.pdf");

// Конвертируйте PDF-файл в формат PDF/A с удалением ошибок.
pdf.Convert(dataDir + "log.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);

// Сохраните полученный PDF-файл.
pdf.Save(fileNew.FullName);

Обязательно замените"input.pdf" с фактическим путем к исходному PDF-файлу и"newfile_out.pdf" с желаемым именем полученного PDF-файла.

Шаг 3. Сохранение полученного PDF-файла.

Наконец, мы сохраним полученный PDF-файл с замененным шрифтом. Используйте следующий код:

// Сохраните полученный PDF-файл.
pdf.Save(fileNew.FullName);

Гарантирует, что вы установили правильный путь назначения для полученного PDF-файла.

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

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

Aspose.Pdf.Text.Font originalFont = null;
try
{
	originalFont = FontRepository.FindFont("AgencyFB");
}
catch (Exception)
{
	// Шрифт отсутствует на целевом компьютере
	FontRepository.Substitutions.Add(new SimpleFontSubstitution("AgencyFB", "Arial"));
}
var fileNew = new FileInfo(dataDir + "newfile_out.pdf");
var pdf = new Document(dataDir + "input.pdf");
pdf.Convert( dataDir +  "log.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
pdf.Save(fileNew.FullName);

Заключение

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

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

Вопрос: Что такое Aspose.PDF для .NET?

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

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

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

Вопрос: Как найти и заменить отсутствующие шрифты в PDF-файле с помощью Aspose.PDF для .NET?

О: Чтобы найти и заменить отсутствующие шрифты, вы можете использоватьFontRepository.FindFont метод проверки наличия необходимого шрифта. Если шрифт отсутствует, вы можете добавить замену шрифта, используяFontRepository.Substitutions свойство.

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

О: Да, вы можете настроить процесс замены шрифта, указав для замены другой шрифт. В предоставленном коде мы использовали Arial вместо отсутствующего шрифта «AgencyFB», но вы можете выбрать другой шрифт в соответствии со своими предпочтениями.

Вопрос: Как обеспечить точность отрисовки шрифта после замены?

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