Three-page Go record as JPEGs
- Input
- 76,412-byte .xps printed through Microsoft XPS Document Writer, three A4 pages of tables.
- Output
- 854,707-byte ZIP with three 1190 × 1683 JPEGs in 0.7 s, four times faster than the PNG route but slightly larger.
XPS → JPG is for the upload box that takes JPEG and nothing else: each page of the XPS becomes a JPEG, flattened onto white.
From real runs
| Element | Result | What happens |
|---|---|---|
| Page images | Kept | Three pages gave three JPEGs named -page-1 to -page-3 in one ZIP, in page order; a one-page XPS gave a single JPEG. |
| File size | Changed | JPEG is not always smaller for documents. The text-only Go record was 854,707 bytes as JPEGs against 838,390 as PNGs, while the Word page with a photo dropped from 45,428 to 32,895 bytes. |
| Small type | Changed | At quality 90 faint grey speckles appear around digits and table rules when you zoom in; at normal size the pages read cleanly. |
| Pixel dimensions | Kept | JPEG pages have the same pixel sizes as the PNG route: 1190 × 1683 for an XPS A4 page and 1440 × 1080 for a slide at 144 DPI. |
| Transparency | Lost | JPEG has no alpha channel, so transparent areas of the page are filled with white unless you set another background colour. |
| Selectable text and links | Lost | Like any image, the JPEG keeps neither the text layer nor the web links that the XPS had. |
Three pages gave three JPEGs named -page-1 to -page-3 in one ZIP, in page order; a one-page XPS gave a single JPEG.
JPEG is not always smaller for documents. The text-only Go record was 854,707 bytes as JPEGs against 838,390 as PNGs, while the Word page with a photo dropped from 45,428 to 32,895 bytes.
At quality 90 faint grey speckles appear around digits and table rules when you zoom in; at normal size the pages read cleanly.
JPEG pages have the same pixel sizes as the PNG route: 1190 × 1683 for an XPS A4 page and 1440 × 1080 for a slide at 144 DPI.
JPEG has no alpha channel, so transparent areas of the page are filled with white unless you set another background colour.
Like any image, the JPEG keeps neither the text layer nor the web links that the XPS had.
We converted our XPS / OpenXPS sample (74 KB) with Image engine on 2026-10-20. It took 180 ms and produced a 121 KB JPEG file, 1.6× larger than the input. The engine raised 2 warnings, listed below.
Input · sample.xps · 74 KB
ZIP with 18 parts
Output · sample.zip · 121 KB
ZIP with 3 page images (sample-page-1.jpg … sample-page-3.jpg)
MuPDF and pdftoppm
mutool convert -o tmp.pdf document.xps && pdftoppm -jpeg -jpegopt quality=90 -r 144 tmp.pdf pageGo through PDF: with mutool 1.21, mutool draw -o page-%d.jpg still wrote PNG data under a .jpg name.
The HTTP API and the MCP server run the exact engine this page uses (Image engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=xps&to=jpg.
curl -X POST https://filetypeconverters.com/api/v1/convert \
-H "Authorization: Bearer $FTC_API_KEY" \
-F "file=@input.xps" -F "from=xps" -F "to=jpg" \
-F 'options={"width":0}' \
--output output.jpg| Key | Applies to | Type | Default |
|---|---|---|---|
| width | Writing JPEG | number | 0 |
| height | Writing JPEG | number | 0 |
| fit | Writing JPEG | contain · cover · fill | contain |
| quality | Writing JPEG | number | 90 |
| background | Writing JPEG | string | #ffffff |
| stripMetadata | Writing JPEG | boolean | true |
JPEG is designed for photographs. Black text on white produces sharp edges that JPEG spends many bytes describing, so text-only XPS pages often come out larger as JPEG than as PNG.
Set max_pages to 1 for the first page, or open the ZIP and pick the page the form needs. Each JPEG is named after its page number.
Lower quality to 75 or set width to the size you need, for example 1000 pixels; both reduce the file without changing the page layout.