Travailler avec des toiles
Découpez et transformez des canevas de fichiers XPS
La gestion des canevas dans les documents est l'une des fonctionnalités offertes par Aspose.Page pour .NET. Il s'agit d'une solution pour travailler avec différents langages de description de page, XPS XPS en particulier. Dans l'exemple ci-dessous, vous découvrirez comment :
Créez un canevas dans un fichier XPS.
Effectuez des décalages gauche et supérieur dans le canevas principal.
Ajoutez un nouveau canevas avec une transformation traduite au canevas principal.
Ajoutez un nouveau canevas avec une rotation autour d'un point de transformation au canevas principal.
Clip toile. Et bien d'autres manipulations avec des canevas dans des fichiers XPS.
Pour transformer des canevas de fichier XPS, suivez le guide suivant :
- Créez un fichier XPS à l’aide de XpsDocument Class .
- Créez le canevas principal, commun à tous les éléments de la page avec la méthode AddCanvas() .
- Effectuez des décalages gauche et supérieur dans le canevas principal à l’aide de la méthode CreateMatrix() .
- Créez une géométrie de chemin rectangulaire avec la méthode CreatePathGeometry() .
- Créez un remplissage pour les rectangles à l’aide de la classe XpsBrush .
- Pour créer un rectangle dans le canevas 2 et le remplir, utilisez la classe XpsPath .
- Pour traduire le canevas 3 afin de positionner un nouveau rectangle sous le rectangle précédent, utilisez la méthode CreateMatrix() .
- Pour traduire ce canevas sur le côté droit de la page, utilisez la méthode Translate() .
- Pour mettre à l’échelle le canevas 4, appelez la méthode Scale() .
- Pour faire pivoter la toile 5 autour d’un point de 45 degrés, la méthode RotateAround() va à portée de main.
- Enregistrez le document XPS modifié à l’aide de la méthode XPsDocument.Save() .
Fichier XPS Transformation du canevas Code C#
using Aspose.Page.Xps;
using Aspose.Page.Xps.XpsModel;
using System.Drawing;
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCanvas();
// Create a new XPS Document
XpsDocument doc = new XpsDocument();
// Create main canvas, common for all page elemnts
XpsCanvas canvas1 = doc.AddCanvas();
// Make left and top offsets in the main canvas
canvas1.RenderTransform = doc.CreateMatrix(1, 0, 0, 1, 20, 10);
// Create the rectangle path geometry
XpsPathGeometry rectGeom = doc.CreatePathGeometry("M 0,0 L 200,0 200,100 0,100 Z");
// Create a fill for rectangles
XpsBrush fill = doc.CreateSolidColorBrush(doc.CreateColor(12, 15, 159));
// Add new canvas without any transformations to the main canvas
XpsCanvas canvas2 = canvas1.AddCanvas();
// Create rectangle in this canvas and fill it
XpsPath rect = canvas2.AddPath(rectGeom);
rect.Fill = fill;
// Add new canvas with translate transformation to the main canvas
XpsCanvas canvas3 = canvas1.AddCanvas();
// Translate this canvas to position new rectangle below the previous rectnagle
canvas3.RenderTransform = doc.CreateMatrix(1, 0, 0, 1, 0, 200);
// Translate this canvas to the right side of the page
canvas3.RenderTransform.Translate(500, 0);
// Create the rectangle in this canvas and fill it
rect = canvas3.AddPath(rectGeom);
rect.Fill = fill;
// Add new canvas with the double scale transformation to the main canvas
XpsCanvas canvas4 = canvas1.AddCanvas();
// Translate this canvas to position new rectangle below the previous rectnagle
canvas4.RenderTransform = doc.CreateMatrix(1, 0, 0, 1, 0, 400);
// Scale this canvas
canvas4.RenderTransform.Scale(2, 2);
// Create a rectangle in this canvas and fill it
rect = canvas4.AddPath(rectGeom);
rect.Fill = fill;
// Add new canvas with rotation around a point transformation to the main canvas
XpsCanvas canvas5 = canvas1.AddCanvas();
// Translate this canvas to position new rectangle below the previous rectnagle
canvas5.RenderTransform = doc.CreateMatrix(1, 0, 0, 1, 0, 800);
// Rotate this canvas aroud a point on 45 degrees
canvas5.RenderTransform.RotateAround(45, new PointF(100, 50));
rect = canvas5.AddPath(rectGeom);
rect.Fill = fill;
// Save the resultant XPS document
doc.Save(dataDir + "output1.xps");
Pour couper les toiles du fichier XPS, suivez le guide suivant :
- Créez ou ouvrez un fichier XPS à l’aide de XpsDocument Class.
- Créez le canevas principal, commun à tous les éléments de la page avec la méthode AddCanvas() .
- Effectuez des décalages gauche et supérieur dans le canevas principal à l’aide de la méthode CreateMatrix() .
- Créez une géométrie de chemin rectangulaire avec la méthode CreatePathGeometry() .
- Créez un remplissage pour les rectangles à l’aide de la classe XpsBrush .
- Pour ajouter un autre canevas avec un clip au canevas principal, appelez à nouveau la méthode AddCanvas().
- Créez une géométrie de cercle pour le clip à l’aide de la classe XpsPathGeometry .
- Pour créer un rectangle dans ce canevas et le remplir, utilisez la classe XpsPath .
- Ajoutez un autre canevas avec la méthode AddCanvas() puis créez un rectangle dans ce canevas et tracez-le avec la classe XpsPathGeometry.
- Enregistrez le document XPS modifié au moyen de la méthode XPsDocument.Save().
Découpage de canevas de fichier XPS code C#
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCanvas();
// Create a new XPS Document
XpsDocument doc = new XpsDocument();
// Create main canvas, common for all page elemnts
XpsCanvas canvas1 = doc.AddCanvas();
// Make left and top offsets in the main canvas
canvas1.RenderTransform = doc.CreateMatrix(1, 0, 0, 1, 20, 10);
// Create the rectangle path geometry
XpsPathGeometry rectGeom = doc.CreatePathGeometry("M 0,0 L 500,0 500,300 0,300 Z");
// Create a fill for rectangles
XpsBrush fill = doc.CreateSolidColorBrush(doc.CreateColor(12, 15, 159));
// Add another canvas with the clip to the main canvas
XpsCanvas canvas2 = canvas1.AddCanvas();
// Create circle geometry for the clip
XpsPathGeometry clipGeom = doc.CreatePathGeometry("M250,250 A100,100 0 1 1 250,50 100,100 0 1 1 250,250");
canvas2.Clip = clipGeom;
// Create rectangle in this canvas and fill it
XpsPath rect = canvas2.AddPath(rectGeom);
rect.Fill = fill;
// Add the second canvas with stroked rectangle to the main canvas
XpsCanvas canvas3 = canvas1.AddCanvas();
// Create rectangle in this canvas and stroke it
rect = canvas3.AddPath(rectGeom);
rect.Stroke = fill;
rect.StrokeThickness = 2;
// Save resultant XPS document
doc.Save(dataDir + "output2.xps");
FAQ
1. Comment puis-je ajouter un canevas à un fichier XPS ?
Définissez le chemin d’accès au répertoire des documents. Pour ajouter des canevas, utilisez la méthode AddCanvas().
2. Comment manipuler les décalages du canevas dans un fichier XPS ?
Définissez le chemin d’accès au répertoire des documents et ajoutez des canevas. Utilisez la méthode CreateMatrix() pour effectuer des décalages.
3. Quelles opérations avec les canevas dans le fichier XPS sont prises en charge ?
Vous pouvez créer, découper et ajouter un canevas ainsi que manipuler ses décalages.
XPS Qu'est-ce que le format de fichier XPS
Le format XPS est similaire au format PDF. Les deux sont des formats de langage de description de page (PDL). EPS est basé sur HTML et non sur le langage PostScript. Le fichier .eps est capable de contenir un balisage de la structure du document ainsi que des informations sur l'apparence du document. Il existe également des instructions supplémentaires sur la façon d'imprimer et de rendre le document. La caractéristique du format est qu'il fixe la description du document, ce qui signifie qu'il aura le même aspect, peu importe qui et à partir de quel système opérationnel l'ouvre.