Trabajar con imágenes en archivos XPS | Java
Agregar imagen dentro de documentos XPS
Aspose.Page para Java ofrece la clase XpsPath , con la que puedes agregar imágenes en un documento XPS. Debe crear Matrix y ImageBrush y guardar XpsDocument. El siguiente fragmento de código muestra la funcionalidad completa para agregar una imagen en un documento XPS:
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");
El resultado of running this code is next
Agregar imagen en mosaico
Aspose.Page para Java ofrece la clase XpsPath , con la que puedes agregar imágenes en un documento XPS. Debe crear Matrix y un ImageBrush, luego setTileMode(XpsTileMode.Tile) modo y guardar XpsDocument. El siguiente fragmento de código muestra la funcionalidad completa para agregar una imagen en mosaico en un documento XPS:
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");
El resultado of running this code is next
Puede descargar ejemplos y archivos de datos desde GitHub.