Извлечение шрифта из PDF с использованием C#

Эта статья объясняет, как извлечь шрифт из PDF с использованием C# для дальнейшего анализа, редактирования и отладки. Она предоставит детали настройки IDE, список шагов для разработки приложения и рабочий код для извлечения шрифта из PDF Acrobat с использованием C#. Вы можете получить доступ и отобразить все свойства извлеченного шрифта и сохранить его на диск, если это необходимо.

Шаги для извлечения файла шрифта из PDF с использованием C#

  1. Настройте IDE для использования Aspose.PDF для извлечения шрифтов
  2. Загрузите исходный PDF-файл с объектом класса Document, установив имя PDF-файла
  3. Получите все шрифты в загруженном PDF с использованием класса FontUtilities
  4. Итерируйтесь по коллекции шрифтов
  5. Создайте поток в памяти и сохраните извлеченный шрифт на диск, если это необходимо
  6. Отобразите различные свойства шрифта в консоли

Эти шаги объясняют, как извлечь шрифт из файла PDF с использованием C#. Загрузите PDF-файл в объект класса Document и получите список всех шрифтов с использованием класса FontUtilities. Итерируйтесь по всем шрифтам в списке, отобразите их свойства и сохраните их в потоке памяти для создания файла шрифта на диске, если это необходимо.

Код для извлечения шрифта из файла PDF с использованием C#

// Create a new instance of the License class
var pdfLic = new License();
// Set the license using the provided license file ("license.lic").
pdfLic.SetLicense("license.lic");
// Open the PDF document
using (var document = new Aspose.Pdf.Document("Test.pdf"))
{
// Retrieve all fonts used in the PDF document
Aspose.Pdf.Text.Font[] fonts = document.FontUtilities.GetAllFonts();
// Iterate through each font in the fonts array.
foreach (Aspose.Pdf.Text.Font font in fonts)
{
// Create a MemoryStream to temporarily store the font data.
using (MemoryStream memoryStream = new MemoryStream())
{
// Save the font data into the MemoryStream.
font.Save(memoryStream);
// Write the font data from the MemoryStream to a .TTF file.
// The file is named after the font's name.
File.WriteAllBytes($"{font.FontName}.TTF", memoryStream.ToArray());
// Print the font name
Console.WriteLine(font.FontName);
}
}
}

Этот код демонстрирует процесс извлечения шрифта из PDF с использованием C#. Если вы хотите извлечь встроенные шрифты, используйте флаг IsEmbedded для каждого шрифта и обработайте его соответствующим образом. Класс Font предоставляет различные другие свойства, которые можно получить, такие как флаг IsAccessible, который показывает, установлен ли шрифт в системе, и получение последней ошибки встраивания шрифта.

Эта статья научила нас, как получить доступ и отобразить шрифты в файле PDF. Чтобы преобразовать URL в PDF, см. статью Преобразование URL в PDF с использованием C#.

 Русский