Műveletek vásznakkal XPS-ben

XPS fájlok vásznainak vágása és transzformálása .NET API segítségével

 

A dokumentumokban található vásznak (Canvases) kezelése az Aspose.Page for .NET egyik szolgáltatása. Ez egy megoldás különböző oldalleíró nyelvekkel való munkához, kifejezetten az XPS-hez. Az alábbi példában megtudhatja, hogyan:

  • Hozzon létre vásznat egy XPS fájlban.

  • Állítson be bal és felső eltolást a fő vásznon.

  • Adjon hozzá egy új vásznat eltolási transzformációval a fő vászonhoz.

  • Adjon hozzá egy új vásznat egy pont körüli forgatási transzformációval a fő vászonhoz.

  • Vágja le (clip) a vásznat. És még sok más művelet XPS fájlok vásznaival.

XPS fájl vásznainak transzformálásához kövesse az alábbi útmutatót:

  1. Hozzon létre egy XPS fájlt az XpsDocument osztály használatával.
  2. Hozza létre a fő vásznat, amely közös minden oldalelemhez, az AddCanvas() metódussal.
  3. Állítson be bal és felső eltolást a fő vásznon a CreateMatrix() metódussal.
  4. Hozzon létre téglalap útvonalgeometriát a CreatePathGeometry() metódussal.
  5. Hozzon létre kitöltést a téglalapokhoz az XpsBrush osztály segítségével.
  6. Téglalap létrehozásához a 2. vásznon és annak kitöltéséhez használja az XpsPath osztályt.
  7. A 3. vászon eltolásához, hogy egy új téglalapot helyezzen az előző alá, használja a CreateMatrix() metódust.
  8. A vászon oldal jobb szélére való eltolásához használja a Translate() metódust.
  9. A 4. vászon méretezéséhez hívja meg a Scale() metódust.
  10. Az 5. vászon egy pont körüli 45 fokos elforgatásához a RotateAround() metódus jön jól.
  11. Mentse el a módosított XPS dokumentumot az XPsDocument.Save() metódussal.

XPS fájl vászon transzformáció C# kód

    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");
A következő kódrészlet bemutatja, hogyan vághatja le az XPS fájlok vásznait az Aspose.Page for .NET API megoldáson belül.

XPS fájl vásznainak vágásához (clip) kövesse az alábbi útmutatót:

  1. Hozzon létre vagy nyisson meg egy XPS fájlt az XpsDocument osztály használatával.
  2. Hozza létre a fő vásznat az AddCanvas() metódussal.
  3. Állítson be bal és felső eltolást a fő vásznon a CreateMatrix() metódussal.
  4. Hozzon létre téglalap útvonalgeometriát a CreatePathGeometry() metódussal.
  5. Hozzon létre kitöltést a téglalapokhoz az XpsBrush osztály segítségével.
  6. Újabb vágással rendelkező vászon hozzáadásához a fő vászonhoz hívja meg újra az AddCanvas() metódust.
  7. Hozzon létre kör geometriát a vágáshoz az XpsPathGeometry osztály használatával.
  8. Téglalap létrehozásához ezen a vásznon és annak kitöltéséhez használja az XpsPath osztályt.
  9. Adjon hozzá egy újabb vásznat az AddCanvas() metódussal, majd hozzon létre egy téglalapot ezen a vásznon, és rajzolja meg a körvonalát az XpsPathGeometry osztállyal.
  10. Mentse el a módosított XPS dokumentumot az XPsDocument.Save() metódussal.

XPS fájl vászon vágás C# kód

    // 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");



GYIK

1. Hogyan adhatok vásznat XPS-fájlhoz?

Állítsa be a dokumentumok könyvtárának elérési útját. Vásznak hozzáadásához használja az AddCanvas() metódust.

2. Hogyan lehet manipulálni a vászoneltolásokat XPS-fájlban?

Állítsa be a dokumentumkönyvtár elérési útját, és adjon hozzá vásznakat. Használja a CreateMatrix() metódust az eltolásokhoz.

3. Milyen műveletek támogatottak az XPS-fájlban lévő vásznakkal?

Létrehozhat, kivághat és hozzáadhat vásznat, valamint módosíthatja az eltolásait.

XPS What is XPS File Format

XPS (XML Paper Specification) a Microsoft PDF‑alternatívája. XML/HTML‑alapú, platformfüggetlen, és megőrzi a dokumentum elrendezését különböző operációs rendszereken.