ทำงานกับผ้าใบ

คลิปและแปลงผืนผ้าใบของไฟล์ XPS

 

การจัดการ Canvases ในเอกสารเป็นหนึ่งในคุณสมบัติที่นำเสนอโดย Aspose.Page สำหรับ .NET นี่เป็นวิธีแก้ปัญหาสำหรับการทำงานกับ Page Description Languages ​​ต่างๆ, XPS XPS โดยเฉพาะ ในตัวอย่างด้านล่าง คุณจะได้เรียนรู้วิธี:

  • สร้างแคนวาสในไฟล์ XPS

  • ทำออฟเซ็ตด้านซ้ายและด้านบนในแคนวาสหลัก

  • เพิ่มแคนวาสใหม่พร้อมการแปลงที่แปลแล้วไปยังแคนวาสหลัก

  • เพิ่มผืนผ้าใบใหม่ด้วยการหมุนรอบการเปลี่ยนจุดไปยังผืนผ้าใบหลัก

  • คลิปผ้าใบ. และการปรับแต่งอื่น ๆ อีกมากมายด้วยผืนผ้าใบในไฟล์ XPS

ในการแปลงผืนผ้าใบของไฟล์ XPS ให้ทำตามคำแนะนำต่อไปนี้:

  1. สร้างไฟล์ XPS โดยใช้ XpsDocument Class
  2. สร้างผืนผ้าใบหลักซึ่งใช้กันทั่วไปสำหรับองค์ประกอบของหน้าทั้งหมดด้วยเมธอด AddCanvas()
  3. ทำออฟเซ็ตด้านซ้ายและด้านบนในแคนวาสหลักโดยใช้เมธอด CreateMatrix()
  4. สร้างเรขาคณิตเส้นทางสี่เหลี่ยมผืนผ้าด้วยเมธอด CreatePathGeometry()
  5. สร้างการเติมสี่เหลี่ยมโดยใช้คลาส XpsBrush
  6. หากต้องการสร้างสี่เหลี่ยมผืนผ้าในแคนวาส 2 และเติมให้เต็ม ให้ใช้คลาส XpsPath
  7. หากต้องการแปลผ้าใบ 3 ให้วางตำแหน่งสี่เหลี่ยมผืนผ้าใหม่ใต้สี่เหลี่ยมผืนผ้าก่อนหน้า ให้ใช้เมธอด CreateMatrix()
  8. หากต้องการแปลแคนวาสนี้ไปทางด้านขวาของหน้า ให้ใช้เมธอด Translate()
  9. หากต้องการปรับขนาดผ้าใบ 4 ให้เรียกเมธอด Scale()
  10. ในการหมุนผืนผ้าใบ 5 รอบจุด 45 องศา RotateAround() วิธีการจะไป มีประโยชน์
  11. บันทึกเอกสาร XPS ที่เปลี่ยนแปลงโดยใช้เมธอด XPsDocument.Save()

ไฟล์ XPS การแปลงไฟล์ Canvas รหัส 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");
ข้อมูลโค้ดถัดไปแสดงวิธีการตัดผืนผ้าใบของไฟล์ XPS ภายใน Aspose.Page สำหรับ .NET Api Solution

ในการคลิปผืนผ้าใบของไฟล์ XPS ให้ทำตามคำแนะนำต่อไปนี้:

  1. สร้างหรือเปิดไฟล์ XPS โดยใช้ XpsDocument Class
  2. สร้างผืนผ้าใบหลักซึ่งใช้กันทั่วไปสำหรับองค์ประกอบของหน้าทั้งหมดด้วยเมธอด AddCanvas()
  3. ทำออฟเซ็ตด้านซ้ายและด้านบนในแคนวาสหลักโดยใช้เมธอด CreateMatrix()
  4. สร้างเรขาคณิตเส้นทางสี่เหลี่ยมผืนผ้าด้วยเมธอด CreatePathGeometry()
  5. สร้างการเติมสี่เหลี่ยมโดยใช้คลาส XpsBrush
  6. หากต้องการเพิ่มแคนวาสอื่นพร้อมคลิปลงในแคนวาสหลัก ให้เรียกใช้เมธอด AddCanvas() อีกครั้ง
  7. สร้างเรขาคณิตวงกลมสำหรับคลิปโดยใช้คลาส XpsPathGeometry
  8. หากต้องการสร้างสี่เหลี่ยมผืนผ้าในผืนผ้าใบนี้และเติมให้เต็ม ให้ใช้คลาส XpsPath
  9. เพิ่มแคนวาสอื่นด้วยเมธอด AddCanvas() จากนั้นสร้างสี่เหลี่ยมผืนผ้าในแคนวาสนี้ และขีดทับด้วยคลาส XpsPathGeometry
  10. บันทึกเอกสาร XPS ที่เปลี่ยนแปลงโดยใช้วิธีการ XPsDocument.Save()

ไฟล์ XPS ผ้าใบตัดรหัส 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");



คำถามที่พบบ่อย

1. ฉันจะเพิ่มแคนวาสลงในไฟล์ XPS ได้อย่างไร

กำหนดเส้นทางไปยังไดเร็กทอรีเอกสาร หากต้องการเพิ่มผืนผ้าใบให้ใช้เมธอด AddCanvas()

2. วิธีจัดการการชดเชยแคนวาสในไฟล์ XPS

กำหนดเส้นทางไปยังไดเร็กทอรีเอกสารและเพิ่มผืนผ้าใบ ใช้เมธอด CreateMatrix() เพื่อสร้างออฟเซ็ต

3. รองรับการดำเนินการใดกับแคนวาสในไฟล์ XPS

คุณสามารถสร้าง คลิป และเพิ่มแคนวาส รวมถึงจัดการออฟเซ็ตของมันได้

XPS XPS รูปแบบไฟล์คืออะไร

รูปแบบ XPS คล้ายกับรูปแบบ PDF ทั้งสองรูปแบบเป็นภาษาคำอธิบายหน้า (PDL) EPS อิงตาม HTML ไม่ใช่ภาษา PostScript ไฟล์ .eps สามารถใส่มาร์กอัปของโครงสร้างของเอกสารพร้อมกับข้อมูลเกี่ยวกับลักษณะของเอกสารได้ นอกจากนี้ยังมีคำแนะนำเพิ่มเติมเกี่ยวกับวิธีการพิมพ์และแสดงผลเอกสาร คุณสมบัติของรูปแบบคือ แก้ไขคำอธิบายของเอกสาร ซึ่งหมายความว่าจะมีลักษณะเหมือนกันไม่ว่าใครจะเปิดจากระบบปฏิบัติการใด