GroupDocs Conversion Java: Конвертировать Word в PDF с пользовательскими шрифтами

В этом полном руководстве вы узнаете, как groupdocs conversion java позволяет convert docx to pdf, сохраняя пользовательские стили шрифтов. Независимо от того, создаёте ли вы конвейер юридических документов или публикуете электронные книги, приведённые ниже шаги гарантируют, что полученный PDF будет выглядеть точно так же, как исходный файл Word.

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

  • Какая библиотека обрабатывает конвертацию? GroupDocs Conversion for Java.
  • Можно ли заменить отсутствующие шрифты? Да – используйте настройки замены шрифтов.
  • Нужна ли лицензия для продакшена? Требуется коммерческая лицензия; доступна бесплатная пробная версия.
  • Какая версия Java поддерживается? JDK 8 или новее.
  • Возможна ли пакетная конвертация? Абсолютно – оберните конвертер в цикл или используйте пакетные функции API.

Что такое GroupDocs Conversion Java?

GroupDocs Conversion Java — это высокопроизводительный API, который преобразует широкий спектр форматов документов (включая DOCX, PPTX, XLSX и PDF) без необходимости установки Microsoft Office. Он предоставляет разработчикам детальный контроль над рендерингом, макетом и обработкой шрифтов.

Почему использовать пользовательские шрифты при конвертации?

Встраивание правильных шрифтов гарантирует, что PDF будет выглядеть одинаково на любом устройстве, устраняет проблемы «fallback» шрифтов и соответствует требованиям брендинга. Это особенно важно для сценариев convert word pdf java, таких как юридические архивы, корпоративные отчёты и учебные материалы.

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

  • Java Development Kit (JDK) – версия 8 или новее.
  • Maven для управления зависимостями.
  • IDE (IntelliJ IDEA, Eclipse или VS Code).

Настройка GroupDocs.Conversion для Java

To start, add the GroupDocs repository and the conversion dependency to your Maven project.

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/conversion/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-conversion</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

Приобретение лицензии

Вы можете начать с free trial или получить temporary license для расширенного тестирования. Для коммерческого использования рассмотрите покупку полной лицензии. Посетите GroupDocs Licensing, чтобы изучить варианты.

Базовая инициализация и настройка

After adding the dependency, create a Converter instance that points to your source DOCX file.

import com.groupdocs.conversion.Converter;

// Initialize with a document path
Converter converter = new Converter("YOUR_DOCUMENT_DIRECTORY/SampleDocx.docx");

Руководство по реализации

Ниже представлено пошаговое руководство, показывающее, как set default font pdf и определить пользовательские замены шрифтов.

Шаг 1: Определить путь конвертации и параметры загрузки

First, specify where the PDF will be saved and configure load options that control font handling.

import com.groupdocs.conversion.options.load.WordProcessingLoadOptions;
import com.groupdocs.conversion.contracts.FontSubstitute;

// Output PDF path
String convertedFile = "YOUR_OUTPUT_DIRECTORY/ConvertedWordToPdf.pdf";

// Configure load options for Word documents
double autoFontSubstitution(false);  // Disable automatic font substitution
defaultFont("resources/fonts/Helvetica.ttf");  // Set a default fallback font

// Prepare font substitutes list
List<FontSubstitute> fontSubstitutes = new ArrayList<>();
fontSubstitutes.add(FontSubstitute.create("Tahoma", "Arial")); // Substitute Tahoma with Arial
fontSubstitutes.add(FontSubstitute.create("Times New Roman", "Arial")); // Substitute Times New Roman with Arial

// Apply the substitutes to load options
setFontSubstitutes(fontSubstitutes);

Объяснение

  • setAutoFontSubstitution(false): Отключает автоматическое угадывание библиотеки, предоставляя вам полный контроль.
  • setDefaultFont("Helvetica.ttf"): Обеспечивает универсальный резервный шрифт, когда запрашиваемый шрифт не найден.
  • setFontSubstitutes(...): Сопоставляет отсутствующие шрифты с альтернативами, которые известны как доступные в целевой системе.

Шаг 2: Настроить параметры конвертации PDF

Now create the PDF‑specific options object.

import com.groupdocs.conversion.options.convert.PdfConvertOptions;

// Initialize PDF conversion options
double options = new PdfConvertOptions();

Позже вы можете расширить PdfConvertOptions, чтобы настроить размер страницы, поля или параметры сжатия.

Шаг 3: Выполнить конвертацию

Finally, run the conversion with the previously defined load and convert options.

// Convert Word document to PDF with specified font settings
converter.convert(convertedFile, () -> loadOptions, options);

API читает DOCX, применяет ваши правила шрифтов и записывает PDF, встраивая выбранные шрифты.

Практические применения

  1. Legal Document Management – Сохранить точную типографику для PDF, готовых к суду.
  2. Publishing Industry – Сохранять шрифты бренда одинаковыми в электронных книгах и каталогах.
  3. Corporate Reports – Обеспечить соответствие PDF, предназначенных для заинтересованных сторон, корпоративным руководствам по стилю.
  4. Educational Material – Конвертировать лекционные заметки, сохраняя пользовательские академические шрифты.

Соображения по производительности

  • Memory Management – Большие файлы DOCX могут потреблять значительный heap; контролируйте память JVM и рассматривайте корректировки -Xmx.
  • Batch Processing – Оберните логику конвертации в цикл или используйте batch API GroupDocs для эффективной обработки нескольких файлов.
  • Resource Allocation – Выделите достаточное количество ядер CPU при параллельной конвертации большого количества документов.

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

ПроблемаРешение
Шрифты не заменяютсяУбедитесь, что файлы шрифтов существуют по указанным путям и что имена FontSubstitute точно соответствуют названиям семейств шрифтов в исходном DOCX.
Ошибки нехватки памятиУвеличьте размер heap JVM (-Xmx2g или больше) или обрабатывайте файлы небольшими партиями.
В PDF отсутствуют встроенные шрифтыУбедитесь, что setDefaultFont указывает на файл TrueType (.ttf) или OpenType (.otf) и что лицензия позволяет встраивание шрифтов.

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

Q: Можно ли использовать GroupDocs.Conversion без покупки лицензии?
A: Да, вы можете начать с бесплатной пробной версии или получить временную лицензию для оценки.

Q: Что делать, если шрифты не заменяются корректно?
A: Убедитесь, что файлы шрифтов доступны и правильно указаны в setFontSubstitutes. Дважды проверьте точные названия семейств шрифтов.

Q: Как улучшить производительность конвертации больших документов?
A: Обрабатывайте документы партиями, контролируйте ресурсы системы и рассмотрите увеличение размера heap JVM.

Q: Можно ли конвертировать другие типы документов, кроме Word?
A: Конечно. GroupDocs Conversion поддерживает изображения, электронные таблицы, презентации и многие другие форматы.

Q: Где можно найти дополнительную документацию по GroupDocs.Conversion?
A: Посетите официальные руководства по адресу GroupDocs Java Conversion Docs для подробных ссылок на API.

Заключение

Теперь у вас есть полное готовое к продакшену решение для convert docx to pdf с обработкой пользовательских шрифтов с помощью groupdocs conversion java. Настраивая замену шрифтов и шрифты по умолчанию, вы гарантируете, что каждый PDF будет точно соответствовать внешнему виду оригинального документа Word, независимо от того, где он просматривается.

Следующие шаги

  • Поэкспериментировать с дополнительными PdfConvertOptions, такими как сжатие изображений или соответствие PDF/A.
  • Исследовать пакетную конвертацию для автоматизации масштабных конвейеров документов.
  • Ознакомиться с полным набором API в официальной документации, чтобы открыть более продвинутые возможности.

Последнее обновление: 2026-01-13
Тестировано с: GroupDocs.Conversion 25.2
Автор: GroupDocs

Ресурсы