Working with Images in XPS file | Java

Add Image inside XPS Documents

Aspose.Page for Java offers XpsPath Class, with which you can add image on XPS document. You need to create Matrix and an ImageBrush and save XpsDocument. The following code snippet shows complete functionality to add image on an XPS document:

 1// Add image to XPS document.
 2
 3// Create new XPS Document
 4XpsDocument doc = new XpsDocument();
 5
 6String outputFileName = "AddImage_outXPS.xps";
 7
 8// Add Image
 9XpsPath path = doc.addPath(doc.createPathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
10//Creating a matrix is optional, it can be used for proper positioning
11path.setRenderTransform(doc.createMatrix(0.7f, 0f, 0f, 0.7f, 0f, 20f));
12//Create Image Brush
13path.setFill((XpsImageBrush)doc.createImageBrush(getDataDir() + "QL_logo_color.tif", new Rectangle2D.Float(0f, 0f, 258.24f, 56.64f), new Rectangle2D.Float(50f, 20f, 193.68f, 42.48f)));
14// Save resultant XPS document
15doc.save(getOutputDir() + outputFileName);
Example-AddImageXPS.java hosted with ❤ by GitHub

See working with images in XPS documents in .NET and C++.


The result of running this code is next

Add Image

Add Tiled Image

Aspose.Page for Java offers XpsPath Class, with which you can add image on XPS document. You need to create Matrix and an ImageBrush, then setTileMode(XpsTileMode.Tile) mode and save XpsDocument. The following code snippet shows complete functionality to add tiled image on an XPS document:

 1// Paint rectangle with tiled image (texture pattern) in XPS document.
 2
 3// Create new XPS Document
 4XpsDocument doc = new XpsDocument();
 5
 6String outputFileName = "AddTextureTilingPattern_outXPS.xps";
 7
 8// Tile image
 9// ImageBrush filled rectangle in the right top bellow
10XpsPath path = doc.addPath(doc.createPathGeometry("M 10,160 L 228,160 228,305 10,305"));
11path.setFill((XpsImageBrush)doc.createImageBrush(getDataDir() + "R08LN_NN.jpg", new Rectangle2D.Float(0f, 0f, 128f, 96f), new Rectangle2D.Float(0f, 0f, 64f, 48f)));
12((XpsImageBrush)path.getFill()).setTileMode(com.aspose.xps.XpsTileMode.Tile);
13path.getFill().setOpacity(0.5f);
14// Save resultant XPS document
15doc.save(getOutputDir() + outputFileName);

See working with images in XPS documents in .NET and C++.


The result of running this code is next

Add Tiled Image

You can download examples and data files from GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.