Lavora con le tele

Taglia e trasforma tele di file XPS

 

La gestione delle tele nei documenti è una delle funzionalità offerte da Aspose.Page per .NET. Questa è una soluzione per lavorare con diversi linguaggi di descrizione della pagina, in particolare XPS XPS. Nell'esempio seguente scoprirai come:

  • Crea una tela in un file XPS.

  • Crea offset sinistro e superiore nella tela principale.

  • Aggiungi una nuova tela con una trasformazione traslata alla tela principale.

  • Aggiungi una nuova tela con una rotazione attorno a una trasformazione puntiforme alla tela principale.

  • Clip di tela. E molte altre manipolazioni con le tele nei file XPS.

Per trasformare le tele del file XPS segui la guida successiva:

  1. Crea un file XPS utilizzando la XpsDocument Class .
  2. Crea la tela principale, comune a tutti gli elementi della pagina con il metodo AddCanvas() .
  3. Crea offset sinistro e superiore nell’area di lavoro principale utilizzando il metodo CreateMatrix() .
  4. Crea una geometria del percorso rettangolare con il metodo CreatePathGeometry() .
  5. Crea un riempimento per i rettangoli mediante la classe XpsBrush .
  6. Per creare un rettangolo nella tela 2 e riempirlo, utilizzare la classe XpsPath .
  7. Per tradurre canvas 3 in modo da posizionare un nuovo rettangolo sotto il rettangolo precedente, utilizzare il metodo CreateMatrix() .
  8. Per tradurre questa tela sul lato destro della pagina, utilizzare il metodo Translate() .
  9. Per ridimensionare la tela 4 chiamare il metodo Scale() .
  10. Per ruotare la tela 5 attorno a un punto di 45 gradi, il metodo RotateAround() va utile.
  11. Salvare il documento XPS modificato utilizzando il metodo XPsDocument.Save() .

File XPS Trasformazione tela Codice 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");
Il prossimo frammento di codice mostra come ritagliare tele di file XPS all'interno di Aspose.Page per .NET Api Solution.

Per ritagliare le tele del file XPS, segui la guida successiva:

  1. Crea o apri un file XPS utilizzando XpsDocument Class.
  2. Crea la tela principale, comune a tutti gli elementi della pagina con il metodo AddCanvas() .
  3. Crea offset sinistro e superiore nell’area di lavoro principale utilizzando il metodo CreateMatrix() .
  4. Crea una geometria del percorso rettangolare con il metodo CreatePathGeometry() .
  5. Crea un riempimento per i rettangoli mediante la classe XpsBrush .
  6. Per aggiungere un’altra tela con una clip alla tela principale, chiama di nuovo il metodo AddCanvas().
  7. Crea la geometria del cerchio per la clip utilizzando la classe XpsPathGeometry .
  8. Per creare un rettangolo in questo canvas e riempirlo, usa la classe XpsPath .
  9. Aggiungi un’altra tela con il metodo AddCanvas(), quindi crea un rettangolo in questa tela e accarezzalo con la classe XpsPathGeometry.
  10. Salvare il documento XPS modificato mediante il metodo XPsDocument.Save().

Codice C# di ritaglio della tela del file XPS

    // 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. Come posso aggiungere una tela a un file XPS?

Imposta il percorso della directory dei documenti. Per aggiungere tele utilizzare il metodo AddCanvas().

2. Come manipolare gli offset della tela in un file XPS?

Imposta il percorso della directory dei documenti e aggiungi tele. Utilizzare il metodo CreateMatrix() per creare offset.

3. Quali operazioni con le tele nel file XPS sono supportate?

Puoi creare, ritagliare e aggiungere una tela nonché manipolarne gli offset.

XPS Cos'è il formato file XPS

Il formato XPS è simile al formato PDF. Entrambi sono formati PDL (Page Description Language). EPS è basato su HTML e non sul linguaggio PostScript. Il file .eps è in grado di contenere un markup della struttura del documento insieme alle informazioni sull'aspetto del documento. Ci sono anche istruzioni aggiunte su come stampare e renderizzare il documento. La caratteristica del formato è che corregge la descrizione del documento, il che significa che avrà lo stesso aspetto indipendentemente da chi e da quale sistema operativo lo apra.