Удалить неиспользуемые шрифты в PDF-файле
В этом уроке мы объясним, как удалить неиспользуемые шрифты в файле PDF с помощью библиотеки Aspose.PDF для .NET. Мы пройдем пошаговый процесс загрузки PDF-файла, определения и удаления неиспользуемых шрифтов и сохранения обновленного PDF-файла с использованием предоставленного исходного кода C#.
Требования
Прежде чем начать, убедитесь, что у вас есть следующее:
- Установлена библиотека Aspose.PDF для .NET.
- Базовое понимание программирования на C#.
Шаг 1. Настройте каталог документов
Сначала вам нужно указать путь к каталогу, в котором находятся ваши PDF-файлы. Заменять"YOUR DOCUMENT DIRECTORY"
вdataDir
переменная с путем к вашим PDF-файлам.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Шаг 2. Загрузите исходный PDF-файл
Затем мы загружаем исходный PDF-документ, используяDocument
класс из библиотеки Aspose.PDF.
Document doc = new Document(dataDir + "ReplaceTextPage.pdf");
Шаг 3. Определите и удалите неиспользуемые шрифты
Мы создаемTextFragmentAbsorber
объект сTextEditOptions
параметр установлен наTextEditOptions.FontReplace.RemoveUnusedFonts
. Эта опция позволяет нам идентифицировать и удалять неиспользуемые шрифты в PDF-документе. Затем мы перебираем всеTextFragments
и установите нужный шрифт.
TextFragmentAbsorber absorber = new TextFragmentAbsorber(new TextEditOptions(TextEditOptions.FontReplace.RemoveUnusedFonts));
doc.Pages.Accept(absorb);
foreach(TextFragment textFragment in absorber.TextFragments)
{
textFragment.TextState.Font = FontRepository.FindFont("Arial, Bold");
}
Шаг 4. Сохраните обновленный PDF-файл.
Наконец, мы сохраняем обновленный PDF-документ в указанный выходной файл.
dataDir = dataDir + "RemoveUnusedFonts_out.pdf";
doc.Save(dataDir);
Console.WriteLine("\nUnused fonts removed successfully from the PDF document.\nFile saved at " + dataDir);
Пример исходного кода для удаления неиспользуемых шрифтов с помощью Aspose.PDF для .NET
try
{
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Загрузить исходный PDF-файл
Document doc = new Document(dataDir + "ReplaceTextPage.pdf");
TextFragmentAbsorber absorber = new TextFragmentAbsorber(new TextEditOptions(TextEditOptions.FontReplace.RemoveUnusedFonts));
doc.Pages.Accept(absorber);
// Перебрать все TextFragments
foreach (TextFragment textFragment in absorber.TextFragments)
{
textFragment.TextState.Font = FontRepository.FindFont("Arial, Bold");
}
dataDir = dataDir + "RemoveUnusedFonts_out.pdf";
// Сохранить обновленный документ
doc.Save(dataDir);
Console.WriteLine("\nUnused fonts removed successfully from pdf document.\nFile saved at " + dataDir);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http:// www.aspose.com/purchase/default.aspx.");
}
Заключение
В этом уроке вы узнали, как удалить неиспользуемые шрифты из PDF-документа с помощью библиотеки Aspose.PDF для .NET. Следуя пошаговому руководству и выполнив предоставленный код C#, вы можете загрузить PDF-файл, определить и удалить неиспользуемые шрифты, а также сохранить обновленный PDF-файл.
Часто задаваемые вопросы
Вопрос: Какова цель урока «Удалить неиспользуемые шрифты из PDF-файла»?
О: В учебнике «Удаление неиспользуемых шрифтов из PDF-файла» объясняется, как использовать библиотеку Aspose.PDF для .NET для удаления неиспользуемых шрифтов из PDF-документа. Учебное пособие проведет вас через процесс загрузки PDF-файла, определения и удаления неиспользуемых шрифтов, а также сохранения обновленного PDF-файла.
Вопрос: Зачем мне удалять неиспользуемые шрифты из PDF-документа?
О: Удаление неиспользуемых шрифтов из PDF-документа может помочь уменьшить размер файла и оптимизировать документ для повышения производительности. Это особенно полезно при работе с PDF-файлами, содержащими встроенные шрифты, которые фактически не используются в содержимом документа.
Вопрос: Как настроить каталог документов?
О: Чтобы настроить каталог документов:
- Заменять
"YOUR DOCUMENT DIRECTORY"
вdataDir
переменная с путем к каталогу, в котором находятся ваши PDF-файлы.
Вопрос: Как удалить неиспользуемые шрифты из PDF-документа с помощью библиотеки Aspose.PDF?
Ответ: Учебное пособие шаг за шагом проведет вас через весь процесс:
- Откройте PDF-документ с помощью
Document
сорт. - Создать
TextFragmentAbsorber
объект сTextEditOptions
установлен вFontReplace.RemoveUnusedFonts
. - Примите поглотитель, чтобы идентифицировать и удалить неиспользуемые шрифты из PDF-файла.
- Перебрать все
TextFragments
и установите нужный шрифт. - Сохраните обновленный PDF-документ.
Вопрос: Какова цельTextEditOptions.FontReplace.RemoveUnusedFonts
parameter?
А:TextEditOptions.FontReplace.RemoveUnusedFonts
параметр указываетTextFragmentAbsorber
для идентификации и удаления неиспользуемых шрифтов из PDF-документа.
Вопрос: Могу ли я заменить неиспользуемые шрифты шрифтом по своему выбору?
О: Да, вы можете изменить код, чтобы заменить неиспользуемые шрифты шрифтами по вашему выбору. В предоставленном примере кода в качестве замены используется шрифт «Arial, Bold».
Вопрос: КакTextFragmentAbsorber
work to remove unused fonts?
А:TextFragmentAbsorber
настроен с помощьюTextEditOptions.FontReplace.RemoveUnusedFonts
параметр, который идентифицирует неиспользуемые шрифты в текстовых фрагментах PDF-файла. После поглощения вы можете перебиратьTextFragments
и установите для них нужные заменяющие шрифты.
Вопрос: Каков ожидаемый результат выполнения предоставленного кода?
О: Следуя инструкциям и запустив предоставленный код C#, вы удалите неиспользуемые шрифты из входного PDF-документа и сохраните обновленную версию как выходной PDF-файл.
Вопрос: Могу ли я изменить код, чтобы удалить шрифты только с определенных страниц или областей?
О: Предоставленный код направлен на удаление неиспользуемых шрифтов из всего PDF-документа. Если вы хотите настроить таргетинг на удаление шрифтов на определенных страницах или регионах, вам придется изменить подход и использовать более сложную логику для выявления неиспользуемых шрифтов в этих областях.