Working with Images in XPS file | Java
Contents
[
Hide
Show
]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. Following code snippet shows complete functionality to add image on an XPS document:
1// For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-Java
2// The path to the documents directory.
3String dataDir = Utils.getDataDir();
4// Create new XPS Document
5XpsDocument doc = new XpsDocument();
6// Add Image
7XpsPath path = doc.addPath(doc.createPathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
8// Creating a matrix is optional, it can be used for proper positioning
9path.setRenderTransform(doc.createMatrix(0.7f, 0f, 0f, 0.7f, 0f, 20f));
10// Create Image Brush
11path.setFill(doc.createImageBrush(dataDir + "QL_logo_color.tif", new Rectangle2D.Double(0f, 0f, 258.24f, 56.64f), new Rectangle2D.Double(50f, 20f, 193.68f, 42.48f)));
12// Save resultant XPS document
13doc.save(dataDir + "AddImage_out.xps");
The result of running this code is next
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. Following code snippet shows complete functionality to add tiled image on an XPS document:
1// For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-Java
2// The path to the documents directory.
3String dataDir = Utils.getDataDir();
4
5// Create new XPS Document
6XpsDocument doc = new XpsDocument();
7// Tile image
8// ImageBrush filled rectangle in the right top bellow
9XpsPath path = doc.addPath(doc.createPathGeometry("M 10,160 L 228,160 228,305 10,305"));
10path.setFill(doc.createImageBrush(dataDir + "R08LN_NN.jpg",
11 new Rectangle2D.Float(0f, 0f, 128f, 96f), new Rectangle2D.Float(0f, 0f, 64f, 48f)));
12((XpsImageBrush)path.getFill()).setTileMode(XpsTileMode.Tile);
13path.getFill().setOpacity(0.5f);
14// Save resultant XPS document
15doc.save(dataDir + "AddTiledImage_out.xps");
The result of running this code is next
You can download examples and data files from GitHub.