How to Convert WMZ to PDF and Other Formats Using GroupDocs Viewer for Java
Converting WMZ (Web Metafile) and WMF (Windows Metafile) files to more accessible formats—especially convert WMZ to PDF—can be tricky because these vector graphic formats store drawing instructions rather than pixel data. With GroupDocs Viewer for Java, you can render WMZ/WMF documents to HTML, JPG, PNG, PDF, and other popular formats in just a few lines of code.

In this tutorial you’ll learn how to set up the library, render WMZ/WMF files to the desired output, and handle common pitfalls. By the end, you’ll be able to integrate groupdocs viewer java into your Java applications to java convert vector graphics quickly and reliably.
Quick Answers
- What formats can WMZ/WMF be converted to? HTML, JPG, PNG, and PDF are fully supported.
- Do I need a license for development? A free trial works for testing; a commercial license removes evaluation limits.
- Which Java version is required? Java 8 or later is recommended.
- Can I render only specific pages? Yes, you can specify page ranges in the view options.
- Is memory usage a concern for large files? Use try‑with‑resources and render only needed pages to keep memory low.
What is “convert WMZ to PDF”?
Converting WMZ to PDF means taking the vector‑based WMZ file and rasterizing it (or preserving its vector data) inside a PDF container. PDF is universally viewable, searchable, and printable, making it ideal for archiving and sharing WMZ graphics.
Why use GroupDocs Viewer for Java to convert vector graphics?
- High fidelity: The library preserves the original drawing quality, whether you output to PDF or PNG.
- Zero external dependencies: No need for native Windows libraries; everything runs on any platform with a JDK.
- Simple API: One
Viewerinstance and a singleviewcall handle the whole conversion. - Scalable: Works equally well for single‑page icons and multi‑page technical drawings.
Prerequisites
Required Libraries
- GroupDocs.Viewer for Java – the core rendering engine.
- Java Development Kit (JDK) 8+.
Environment Setup
- IDE such as IntelliJ IDEA or Eclipse.
- Maven for dependency management (or Gradle if you prefer).
Knowledge Prerequisites
- Familiarity with Java file I/O (
java.nio.file.Path). - Basic understanding of how document viewers render content.
Setting Up GroupDocs.Viewer for Java
Add the repository and dependency to your pom.xml:
<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>
License tip: Use a free trial for evaluation, then apply a temporary or purchased license to unlock full functionality.
Once the dependency is resolved, you can create a Viewer instance that will be reused for each conversion step.
Implementation Guide
We’ll walk through four conversion scenarios: HTML, JPG, PNG, and PDF. Each example follows the same pattern—define an output path, instantiate Viewer with the source WMZ file, configure the appropriate view options, and call view.
Rendering WMZ/WMF to HTML
Overview
HTML output lets you embed the graphic directly into web pages, with all resources (images, CSS) contained in a single file.
Step 1: Define Output Directory Path
Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.html");
Step 2: Initialize Viewer and Render to 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);
}
Rendering WMZ/WMF to JPG
Overview
JPG is a widely supported raster format, perfect for quick previews or email attachments.
Step 1: Define Output Directory Path
Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.jpg");
Step 2: Initialize Viewer and Render to JPG
try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
JpgViewOptions options = new JpgViewOptions(pageFilePathFormat);
viewer.view(options);
}
Rendering WMZ/WMF to PNG
Overview
PNG supports transparency, making it ideal for graphics that need to blend with different backgrounds.
Step 1: Define Output Directory Path
Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.png");
Step 2: Initialize Viewer and Render to PNG
try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
PngViewOptions options = new PngViewOptions(pageFilePathFormat);
viewer.view(options);
}
Rendering WMZ/WMF to PDF
Overview
PDF provides a platform‑independent, searchable document that retains the original layout.
Step 1: Define Output Directory Path
Path outputDirectory = Utils.getOutputDirectoryPath("RenderingWmzAndWmf");
Path pageFilePathFormat = outputDirectory.resolve("wmz_result.pdf");
Step 2: Initialize Viewer and Render to PDF
try (Viewer viewer = new Viewer(TestFiles.SAMPLE_WMZ)) {
PdfViewOptions options = new PdfViewOptions(pageFilePathFormat);
viewer.view(options);
}
Common Issues and Solutions
| Issue | Cause | Solution |
|---|---|---|
| OutOfMemoryError on large WMZ files | Viewer loads the whole document into memory | Render one page at a time using PageStreamViewOptions or increase JVM heap (-Xmx). |
| Missing fonts in PDF | Font not embedded in source WMZ | Install the required fonts on the host machine or use FontSettings to supply custom fonts. |
| Blank PNG output | Incorrect output path or insufficient write permissions | Verify outputDirectory exists and the application has write access. |
| HTML resources not loading | Using forExternalResources without copying files | Stick with forEmbeddedResources for a self‑contained HTML file. |
Frequently Asked Questions
Q: Can I convert WMF to PNG using the same code?
A: Yes. The PNG example works for both WMZ and WMF files; just replace TestFiles.SAMPLE_WMZ with your WMF source.
Q: Is it possible to convert only a subset of pages?
A: Absolutely. Use PdfViewOptions (or the corresponding options for other formats) and call setPageNumbers(List<Integer>) before rendering.
Q: Do I need a separate license for each output format?
A: No. A single GroupDocs Viewer license covers all supported formats, including HTML, JPG, PNG, and PDF.
Q: How does “java convert vector graphics” impact performance?
A: Vector‑to‑raster conversion is CPU‑intensive. For large batches, consider multi‑threading and reusing a single Viewer instance across files.
Q: Will the PDF retain vector quality, or is it rasterized?
A: When converting WMZ/WMF to PDF, GroupDocs Viewer preserves the vector instructions where possible, resulting in a scalable PDF.
Conclusion
You now have a complete, production‑ready guide to convert WMZ to PDF and other common formats using GroupDocs Viewer for Java. Whether you’re building a web service that serves graphics on‑the‑fly or an archival tool that stores documents as PDFs, the steps above will help you get there quickly.
Last Updated: 2026-02-18
Tested With: GroupDocs.Viewer 25.2 for Java
Author: GroupDocs