Clipping XPS with Aspose.Page for .NET

Introduction

Welcome to this comprehensive tutorial on Clipping XPS using Aspose.Page for .NET! In this guide, we’ll walk you through the process of creating, manipulating, and saving XPS documents using Aspose.Page for .NET. XPS, or XML Paper Specification, is a standardized and open document format, and Aspose.Page for .NET provides powerful tools to work with XPS documents in your .NET applications.

Prerequisites

Before we dive into the tutorial, make sure you have the following prerequisites:

  • Visual Studio installed on your machine.
  • Aspose.Page for .NET library added to your project. You can download it here.
  • Basic knowledge of C# programming language.

Import Namespaces

In order to use Aspose.Page for .NET functionalities, you need to import the required namespaces into your project. Follow these steps:

using Aspose.Page.XPS;
using Aspose.Page.XPS.XpsModel;
using System.Drawing;

Now, let’s break down the example code you provided into multiple steps.

Step 1: Set the document directory path.

string dataDir = "Your Document Directory";

Ensure to replace “Your Document Directory” with the actual path to your document directory.

Step 2: Create a new XPS Document.

XpsDocument doc = new XpsDocument();

This creates a new XPS document that you will be working with.

Step 3: Create the main canvas.

XpsCanvas canvas1 = doc.AddCanvas();

This step creates the main canvas, which is common for all page elements.

Step 4: Set left and top offsets in the main canvas.

canvas1.RenderTransform = doc.CreateMatrix(1, 0, 0, 1, 20, 10);

Adjust the left and top offsets as per your requirements.

Step 5: Create a rectangle path geometry.

XpsPathGeometry rectGeom = doc.CreatePathGeometry("M 0,0 L 500,0 500,300 0,300 Z");

This creates a path geometry for a rectangle.

Step 6: Create a fill for rectangles.

XpsBrush fill = doc.CreateSolidColorBrush(doc.CreateColor(12, 15, 159));

Define the fill color for the rectangles.

Step 7: Add another canvas with clip to the main canvas.

XpsCanvas canvas2 = canvas1.AddCanvas();

This step adds another canvas to the main canvas.

Step 8: Create a circle geometry for clip.

XpsPathGeometry clipGeom = doc.CreatePathGeometry("M250,250 A100,100 0 1 1 250,50 100,100 0 1 1 250,250");
canvas2.Clip = clipGeom;

This creates a circular clip geometry and applies it to the second canvas.

Step 9: Create a rectangle in the second canvas and fill it.

XpsPath rect = canvas2.AddPath(rectGeom);
rect.Fill = fill;

This step creates a rectangle in the second canvas and fills it.

Step 10: Add the second canvas with a stroked rectangle to the main canvas.

XpsCanvas canvas3 = canvas1.AddCanvas();

This adds another canvas to the main canvas.

Step 11: Create a rectangle in the third canvas and stroke it.

rect = canvas3.AddPath(rectGeom);
rect.Stroke = fill;
rect.StrokeThickness = 2;

This creates a rectangle in the third canvas and applies a stroke to it.

Step 12: Save the resultant XPS document.

doc.Save(dataDir + "output2.xps");

This saves the XPS document to the specified directory.

Conclusion

Congratulations! You have successfully learned how to clip XPS using Aspose.Page for .NET. This guide provided a detailed walkthrough of the steps involved in the process.

FAQ’s

Q1: Can I use Aspose.Page for .NET with other document formats?

A1: Aspose.Page for .NET primarily focuses on XPS documents, but Aspose provides other libraries for various document formats.

Q2: Is Aspose.Page for .NET suitable for beginners?

A2: Yes, Aspose.Page for .NET is designed to be user-friendly, and beginners can quickly grasp its functionalities with proper documentation.

Q3: Where can I find more examples and resources?

A3: Visit the documentation and Aspose.Page forum for extensive resources and examples.

Q4: How can I obtain a temporary license for Aspose.Page for .NET?

A4: You can get a temporary license here.

Q5: Is there a free trial available for Aspose.Page for .NET?

A5: Yes, you can explore the free trial here.