Lavorare con il Visual Brush in un file XPS | Java
Contents
[ Hide Show ]Aggiungi griglia utilizzando Visual Brush
Aspose.Page per Java offre la classe XpsVisualBrush, con la quale è possibile aggiungere una griglia a un documento XPS. È necessario specificare XpsPathGeometry e aggiungere XpsCanvas all’oggetto della classe XpsDocument. Il seguente frammento di codice mostra la funzionalità completa per aggiungere una griglia a un documento XPS:
1// Add grid with visual brush to XPS document. 2 3XpsDocument doc = new XpsDocument(); 4 5String outputFileName = "AddGrid_out.xps"; 6 7// Geometry for magenta grid VisualBrush 8XpsPathGeometry pathGeometry = doc.createPathGeometry(); 9Point2D.Float[] points = new Point2D.Float[] { 10 new Point2D.Float(240f, 5f), 11 new Point2D.Float(240f, 310f), 12 new Point2D.Float(0f, 310f) 13}; 14pathGeometry.addSegment(doc.createPolyLineSegment(points)); 15pathGeometry.getPathFigures().get(0).setStartPoint(new Point2D.Float(0f, 5f)); 16 17// Canvas for magenta grid VisualBrush 18XpsCanvas visualCanvas = doc.createCanvas(); 19 20XpsPath visualPath = visualCanvas.addPath( 21 doc.createPathGeometry("M 0,4 L 4,4 4,0 6,0 6,4 10,4 10,6 6,6 6,10 4,10 4,6 0,6 Z")); 22visualPath.setFill(doc.createSolidColorBrush(doc.createColor(1f, .61f, 0.1f, 0.61f))); 23 24XpsPath gridPath = doc.createPath(pathGeometry); 25//Create Visual Brush, it is specified by some XPS fragment (vector graphics and glyphs) 26gridPath.setFill(doc.createVisualBrush(visualCanvas, 27 new Rectangle2D.Float(0f, 0f, 10f, 10f), new Rectangle2D.Float(0f, 0f, 10f, 10f))); 28((XpsVisualBrush)gridPath.getFill()).setTileMode(XpsTileMode.Tile); 29 30// New canvas 31XpsCanvas canvas = doc.addCanvas(); 32canvas.setRenderTransform(doc.createMatrix(1f, 0f, 0f, 1f, 268f, 70f)); 33// Add grid 34canvas.addPath(pathGeometry); 35// Red transparent rectangle in the middle top 36XpsPath path = canvas.addPath(doc.createPathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z")); 37path = canvas.addPath(doc.createPathGeometry("M 10,10 L 228,10 228,100 10,100")); 38path.setFill(doc.createSolidColorBrush(doc.createColor(1.0f, 0.0f, 0.0f))); 39path.setOpacity(0.7f); 40// Save resultant XPS document 41doc.save(getOutputDir() + outputFileName);Il risultato è il seguente

È possibile scaricare esempi e file di dati da GitHub.