Travailler avec des images dans un fichier XPS | Java
Ajouter une image dans les documents XPS
Aspose.Page pour Java propose la classe XpsPath , avec laquelle vous pouvez ajouter une image sur un document XPS. Vous devez créer Matrix et un ImageBrush et enregistrer XpsDocument. L’extrait de code suivant montre la fonctionnalité complète pour ajouter une image sur un document 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");
Le résultat de l’exécution de ce code est le suivant
Ajouter une image en mosaïque
Aspose.Page pour Java propose la classe XpsPath , avec laquelle vous pouvez ajouter une image sur un document XPS. Vous devez créer Matrix et un ImageBrush, puis le mode setTileMode(XpsTileMode.Tile) et enregistrer XpsDocument. L’extrait de code suivant montre la fonctionnalité complète pour ajouter une image en mosaïque sur un document 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");
Le résultat de l’exécution de ce code est le suivant
Vous pouvez télécharger des exemples et des fichiers de données à partir de GitHub.