Bekerja dengan kanvas

Klip dan ubah kanvas file XPS

 

Mengelola Kanvas dalam dokumen adalah salah satu fitur yang ditawarkan oleh Aspose.Page untuk .NET. Ini adalah solusi untuk bekerja dengan Bahasa Deskripsi Halaman yang berbeda, khususnya XPS XPS. Dalam contoh di bawah ini Anda akan mengetahui cara:

  • Buat kanvas dalam file XPS.

  • Buat offset kiri dan atas di kanvas utama.

  • Tambahkan kanvas baru dengan transformasi yang diterjemahkan ke kanvas utama.

  • Tambahkan kanvas baru dengan rotasi di sekitar transformasi titik ke kanvas utama.

  • Klip kanvas. Dan masih banyak lagi manipulasi dengan kanvas di file XPS.

Untuk mengubah kanvas file XPS ikuti panduan berikut:

  1. Buat file XPS menggunakan XpsDocument Class .
  2. Buat kanvas utama, umum untuk semua elemen halaman dengan Metode AddCanvas() .
  3. Buat offset kiri dan atas di kanvas utama menggunakan Metode CreateMatrix() .
  4. Buat geometri jalur persegi panjang dengan Metode CreatePathGeometry() .
  5. Buat isian untuk persegi panjang melalui Kelas XpsBrush .
  6. Untuk membuat persegi panjang di kanvas 2 dan mengisinya, gunakan Kelas XpsPath .
  7. Untuk menerjemahkan kanvas 3 ke posisi persegi panjang baru di bawah persegi panjang sebelumnya, gunakan Metode CreateMatrix() .
  8. Untuk menerjemahkan kanvas ini ke sisi kanan halaman, Metode Translate() .
  9. Untuk menskalakan kanvas 4, panggil Metode Scale() .
  10. Untuk memutar kanvas 5 di sekitar titik 45 derajat, Metode RotateAround() berjalan berguna.
  11. Simpan dokumen XPS yang diubah menggunakan Metode XPsDocument.Save() .

File XPS, Transformasi Kanvas, kode 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");
Cuplikan kode berikutnya menunjukkan cara memotong kanvas file XPS dalam Aspose.Page untuk .NET Api Solution.

Untuk Clip kanvas file XPS ikuti panduan berikut:

  1. Buat atau buka file XPS menggunakan XpsDocument Class.
  2. Buat kanvas utama, umum untuk semua elemen halaman dengan Metode AddCanvas() .
  3. Buat offset kiri dan atas di kanvas utama menggunakan Metode CreateMatrix() .
  4. Buat geometri jalur persegi panjang dengan Metode CreatePathGeometry() .
  5. Buat isian untuk persegi panjang melalui Kelas XpsBrush .
  6. Untuk menambahkan kanvas lain dengan klip ke kanvas utama, panggil Metode AddCanvas() lagi.
  7. Buat geometri lingkaran untuk klip menggunakan Kelas XpsPathGeometry .
  8. Untuk membuat persegi panjang di kanvas ini dan mengisinya, gunakan Kelas XpsPath .
  9. Tambahkan kanvas lain dengan Metode AddCanvas() lalu buat persegi panjang di kanvas ini dan gores dengan Kelas XpsPathGeometry.
  10. Simpan dokumen XPS yang diubah melalui Metode XPsDocument.Save().

Kliping kanvas file XPS kode 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");



Pertanyaan Umum

1. Bagaimana cara menambahkan kanvas ke file XPS?

Tetapkan jalur ke direktori dokumen. Untuk menambahkan kanvas gunakan Metode AddCanvas().

2. Bagaimana cara memanipulasi offset kanvas dalam file XPS?

Tetapkan jalur ke direktori dokumen dan tambahkan kanvas. Gunakan Metode CreateMatrix() untuk membuat offset.

3. Operasi apa dengan kanvas di file XPS yang didukung?

Anda dapat membuat, memotong, dan menambahkan kanvas serta memanipulasi offsetnya.

XPS Apa itu Format File XPS

Format XPS mirip dengan format PDF. Keduanya adalah format bahasa deskripsi halaman (PDL). EPS didasarkan pada HTML dan bukan pada bahasa PostScript. File .eps mampu memuat markup struktur dokumen bersama dengan informasi tentang bagaimana dokumen itu akan terlihat. Ada juga petunjuk tambahan tentang cara mencetak dan merender dokumen. Fitur formatnya adalah memperbaiki deskripsi dokumen yang berarti akan terlihat sama tidak peduli siapa dan dari sistem operasional apa yang membukanya.