Преобразование WMZ в PDF и другие форматы с помощью GroupDocs Viewer для Java

Преобразование файлов WMZ (Web Metafile) и WMF (Windows Metafile) в более доступные форматы — особенно convert WMZ to PDF — может быть сложным, поскольку эти векторные графические форматы хранят инструкции по рисованию, а не пиксельные данные. С помощью GroupDocs Viewer for Java вы можете отрисовывать документы WMZ/WMF в HTML, JPG, PNG, PDF и другие популярные форматы всего в несколько строк кода, при этом сохраняя оригинальное визуальное качество.

Convert WMZ/WMF Documents with GroupDocs.Viewer for Java

Convert WMZ/WMF Documents with GroupDocs.Viewer for Java

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

  • В какие форматы можно конвертировать WMZ/WMF? HTML, JPG, PNG и PDF полностью поддерживаются.
  • Нужна ли лицензия для разработки? Бесплатная пробная версия подходит для тестирования; коммерческая лицензия снимает ограничения оценки.
  • Какая версия Java требуется? Рекомендуется Java 8 или новее.
  • Можно ли отрисовывать только определённые страницы? Да, вы можете указать диапазоны страниц в параметрах просмотра.
  • Является ли использование памяти проблемой для больших файлов? Используйте try‑with‑resources и отрисовывайте только необходимые страницы, чтобы снизить потребление памяти.

Что такое “convert WMZ to PDF”?

Convert WMZ to PDF означает взятие векторного файла WMZ и внедрение его инструкций рисования в контейнер PDF, создавая документ, который можно просматривать на любых устройствах, искать в нём и печатать. Конверсия сохраняет качество линий и формы, поэтому полученный PDF выглядит идентично оригинальной графике на любом устройстве.

Почему стоит использовать GroupDocs Viewer для Java для конвертации векторной графики?

GroupDocs Viewer для Java обрабатывает отрисовку WMZ и WMF с high fidelity, сохраняет векторные детали независимо от того, выводите ли вы в PDF, PNG или HTML. Библиотека работает на любой платформе с JDK, не требует нативных компонентов Windows и предоставляет API единого вызова, масштабируемое от файлов с одной иконкой до многостраничных технических чертежей. В тестах производительности она обрабатывает более 200‑страничные WMZ файлы менее чем за 12 секунд на стандартном 4‑ядерном сервере.

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

  • GroupDocs.Viewer for Java – основной движок отрисовки.
  • Java Development Kit (JDK) 8 или новее.
  • IDE, например IntelliJ IDEA или Eclipse (необязательно, но рекомендуется).
  • Maven (или Gradle) для управления зависимостями.

Знание Java NIO (java.nio.file.Path) и базовых операций ввода‑вывода файлов поможет вам легко следовать примерам.

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

Класс Viewer является точкой входа для всех операций отрисовки. Он представляет собой потокобезопасный движок, который можно переиспользовать для нескольких конвертаций.

Добавьте репозиторий и зависимость в ваш pom.xml (или эквивалент Gradle). После того как Maven разрешит артефакт, вы сможете создать экземпляр Viewer, который будет переиспользоваться для каждого шага конвертации.

Подсказка по лицензии: Используйте бесплатную пробную версию для оценки, затем примените временную или приобретённую лицензию, чтобы разблокировать полную функциональность.

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

Ниже мы рассмотрим четыре сценария конвертации — HTML, JPG, PNG и PDF. Каждый сценарий следует одной и той же трёхшаговой схеме:

  1. Определите каталог вывода, куда будут сохраняться отрисованные файлы.
  2. Создайте экземпляр Viewer, указывающий на исходный файл WMZ/WMF.
  3. Настройте специфичные для формата параметры просмотра и вызовите метод view.

Метод view выполняет отрисовку на основе предоставленных параметров.

Отрисовка WMZ/WMF в HTML

Обзор

HTML‑вывод позволяет внедрять графику напрямую в веб‑страницы, при этом все ресурсы (изображения, CSS) находятся в одном файле.

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

Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.html");

Шаг 2: Инициализируйте Viewer и отрисуйте в HTML

try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
    // Create options that embed all resources inside the HTML file
    HtmlViewOptions options = HtmlViewOptions.forEmbeddedResources(pageFilePathFormat);
    // Perform the rendering
    viewer.view(options);
}

Отрисовка WMZ/WMF в JPG

Обзор

JPG — широко поддерживаемый растровый формат, идеальный для быстрых превью или вложений в электронную почту.

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

Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.jpg");

Шаг 2: Инициализируйте Viewer и отрисуйте в JPG

try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
    JpgViewOptions options = new JpgViewOptions(pageFilePathFormat);
    viewer.view(options);
}

Отрисовка WMZ/WMF в PNG

Обзор

PNG поддерживает прозрачность, что делает его идеальным для графики, которой необходимо сочетаться с различными фонами.

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

Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.png");

Шаг 2: Инициализируйте Viewer и отрисуйте в PNG

try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
    PngViewOptions options = new PngViewOptions(pageFilePathFormat);
    viewer.view(options);
}

Отрисовка WMZ/WMF в PDF

Обзор

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

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

Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.pdf");

Шаг 2: Инициализируйте Viewer и отрисуйте в PDF

try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
    PdfViewOptions options = new PdfViewOptions(pageFilePathFormat);
    viewer.view(options);
}

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

PageStreamViewOptions позволяет отрисовывать конкретные страницы как потоки.
PdfViewOptions настраивает параметры вывода PDF, такие как диапазон страниц и DPI.
FontSettings позволяет предоставить пользовательские шрифты, когда исходный документ ссылается на отсутствующие шрифты.

ПроблемаПричинаРешение
OutOfMemoryError при больших WMZ файлахViewer загружает весь документ в памятьОтрисовывайте одну страницу за раз, используя PageStreamViewOptions, или увеличьте размер кучи JVM (-Xmx).
Missing fonts в PDFШрифт не встроен в исходный WMZУстановите необходимые шрифты на хост‑машине или используйте FontSettings для предоставления пользовательских шрифтов.
Blank PNG outputНеправильный путь вывода или недостаточные права записиУбедитесь, что outputDirectory существует и приложение имеет права записи.
HTML resources not loadingИспользование forExternalResources без копирования файловОставайтесь с forEmbeddedResources для автономного HTML‑файла.

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

Q: Могу ли я конвертировать WMF в PNG, используя тот же код?
A: Да. Пример PNG работает как для WMZ, так и для WMF файлов; просто замените TestFiles.SAMPLE_WMZ на ваш WMF‑источник.

Q: Можно ли конвертировать только часть страниц?
A: Конечно. Используйте PdfViewOptions (или соответствующие параметры для других форматов) и вызовите setPageNumbers(List<Integer>) перед отрисовкой.

Q: Нужна ли отдельная лицензия для каждого формата вывода?
A: Нет. Одна лицензия GroupDocs Viewer покрывает все поддерживаемые форматы, включая HTML, JPG, PNG и PDF.

Q: Как “java convert vector graphics” влияет на производительность?
A: Преобразование вектор‑в‑растр является ресурсоёмким для CPU. Для больших пакетов рассмотрите многопоточность и переиспользование одного экземпляра Viewer для нескольких файлов.

Q: Сохранит ли PDF векторное качество или будет растрирован?
A: При конвертации WMZ/WMF в PDF GroupDocs Viewer сохраняет векторные инструкции, где это возможно, что приводит к масштабируемому PDF.

Заключение

Теперь у вас есть полный, готовый к продакшену гид по convert WMZ to PDF и другим распространённым форматам с использованием GroupDocs Viewer for Java. Независимо от того, создаёте ли вы веб‑службу, обслуживающую графику «на лету», или архивный инструмент, сохраняющий документы в PDF, приведённые выше шаги помогут вам быстро и надёжно достичь цели. Изучайте API дальше, чтобы настраивать диапазоны страниц, параметры DPI или водяные знаки в соответствии с требованиями вашего проекта.


Last Updated: 2026-07-19
Tested With: GroupDocs.Viewer 25.2 for Java
Author: GroupDocs

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/viewer/java/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-viewer</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

Связанные руководства