Преобразование 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
Быстрые ответы
- В какие форматы можно конвертировать 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. Каждый сценарий следует одной и той же трёхшаговой схеме:
- Определите каталог вывода, куда будут сохраняться отрисованные файлы.
- Создайте экземпляр
Viewer, указывающий на исходный файл WMZ/WMF. - Настройте специфичные для формата параметры просмотра и вызовите метод
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>