Skip to content

Commit f182c53

Browse files
committed
Updated advanced features examples
1 parent 8584ed9 commit f182c53

File tree

9 files changed

+1452
-670
lines changed
  • content/english/net/advanced-features
    • create-stream-provider-dotnet-aspose-html
    • environment-configuration-dotnet-aspose-html
    • fine-tuning-converters-dotnet-aspose-html
    • generate-encrypted-pdf-by-pdfdevice-dotnet-aspose-html
    • memory-stream-provider-dotnet-aspose-html
    • use-extended-content-property-dotnet-aspose-html
    • using-html-templates-dotnet-aspose-html
    • web-scraping-dotnet-aspose-html

9 files changed

+1452
-670
lines changed

content/english/net/advanced-features/_index.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,18 @@ url: /net/advanced-features/
1010

1111
## Advanced Features Tutorials
1212
### [Environment Configuration in .NET with Aspose.HTML](./environment-configuration-dotnet-aspose-html/)
13+
Learn how to work with HTML documents in .NET using Aspose.HTML for tasks like script management, custom styles, JavaScript execution control, and more. This comprehensive tutorial provides step-by-step examples and FAQs to get you started.
1314
### [Create Stream Provider in .NET with Aspose.HTML](./create-stream-provider-dotnet-aspose-html/)
15+
Learn how to use Aspose.HTML for .NET to manipulate HTML documents efficiently. Step-by-step tutorial for developers.
1416
### [Memory Stream Provider in .NET with Aspose.HTML](./memory-stream-provider-dotnet-aspose-html/)
17+
Learn how to create stunning HTML documents in .NET with Aspose.HTML. Follow our step-by-step tutorial and unlock the power of HTML manipulation.
1518
### [Web Scraping in .NET with Aspose.HTML](./web-scraping-dotnet-aspose-html/)
19+
Learn to manipulate HTML documents in .NET with Aspose.HTML. Navigate, filter, query, and select elements effectively for enhanced web development.
1620
### [Use Extended Content Property in .NET with Aspose.HTML](./use-extended-content-property-dotnet-aspose-html/)
21+
Learn how to create dynamic web content using Aspose.HTML for .NET. Our tutorial covers prerequisites, step-by-step instructions, and FAQs for beginners.
1722
### [Generate Encrypted PDF by PdfDevice in .NET with Aspose.HTML](./generate-encrypted-pdf-by-pdfdevice-dotnet-aspose-html/)
23+
Convert HTML to PDF dynamically with Aspose.HTML for .NET. Easy integration, customizable options, and robust performance.
1824
### [Fine-Tuning Converters in .NET with Aspose.HTML](./fine-tuning-converters-dotnet-aspose-html/)
19-
### [Using HTML Templates in .NET with Aspose.HTML](./using-html-templates-dotnet-aspose-html/)
25+
Learn how to convert HTML to PDF, XPS, and images with Aspose.HTML for .NET. Step-by-step tutorial with code examples and FAQs.
26+
### [Using HTML Templates in .NET with Aspose.HTML](./using-html-templates-dotnet-aspose-html/)
27+
Learn how to use Aspose.HTML for .NET to dynamically generate HTML documents from JSON data. Harness the power of HTML manipulation in your .NET applications.

content/english/net/advanced-features/create-stream-provider-dotnet-aspose-html/_index.md

Lines changed: 123 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -2,68 +2,133 @@
22
title: Create Stream Provider in .NET with Aspose.HTML
33
linktitle: Create Stream Provider in .NET with Aspose.HTML
44
second_title: Aspose.Slides .NET HTML manipulation API
5-
description:
5+
description: Learn how to use Aspose.HTML for .NET to manipulate HTML documents efficiently. Step-by-step tutorial for developers.
66
type: docs
77
weight: 11
88
url: /net/advanced-features/create-stream-provider-dotnet-aspose-html/
99
---
10+
In the world of web development and document manipulation, Aspose.HTML for .NET stands as a powerful tool. This tutorial will guide you through the process of using Aspose.HTML for .NET, breaking down each step, and explaining its importance. Whether you're a seasoned developer or just starting, this guide will help you harness the capabilities of Aspose.HTML for .NET effectively.
11+
12+
## Introduction
13+
14+
Aspose.HTML for .NET is a versatile library that empowers .NET developers to work with HTML documents effortlessly. With its wide range of functionalities, it enables you to create, manipulate, and convert HTML files, making it a valuable asset in various applications, including web development and document management.
15+
16+
## Prerequisites
17+
18+
Before diving into the tutorial, ensure you have the following prerequisites in place:
19+
20+
1. Visual Studio: To begin with Aspose.HTML for .NET, you'll need Visual Studio installed on your machine. You can download it [here](https://visualstudio.microsoft.com/).
21+
22+
2. Aspose.HTML for .NET Library: Download and install the Aspose.HTML for .NET library. You can get it from [here](https://releases.aspose.com/html/net/).
23+
24+
3. Basic C# Knowledge: A fundamental understanding of C# programming will be beneficial for following the code examples.
25+
26+
Now that you have the prerequisites ready, let's delve into the core of this tutorial.
27+
28+
## Importing Namespaces
29+
30+
In C#, namespaces are essential to organize and access libraries. To work with Aspose.HTML for .NET, you need to import the necessary namespaces at the beginning of your code. Here's how you do it:
31+
32+
```csharp
33+
using Aspose.Html;
34+
using Aspose.Html.Converters;
35+
using Aspose.Html.Saving;
36+
using Aspose.Html.StreamProviders;
37+
using System;
38+
using System.Collections.Generic;
39+
using System.IO;
40+
```
41+
42+
These namespaces provide you with the classes and methods required for HTML document manipulation.
43+
44+
## Breaking Down the Example
45+
46+
Now, let's break down the provided code example into multiple steps and explain each step in detail.
47+
48+
### Step 1: Set the Data Directory
49+
50+
```csharp
51+
string dataDir = "Your Data Directory";
52+
```
53+
54+
In this step, you define a variable `dataDir` to specify the directory where your output file will be saved. Make sure to replace `"Your Data Directory"` with the actual path to your desired directory.
55+
56+
### Step 2: Create a Custom StreamProvider
57+
58+
```csharp
59+
using (MemoryStreamProvider streamProvider = new MemoryStreamProvider())
60+
{
61+
// Code for document manipulation goes here
62+
}
63+
```
64+
65+
Here, you create a custom `MemoryStreamProvider` to manage memory streams that will hold the result data. This step is crucial for handling the output of the HTML conversion.
66+
67+
### Step 3: Create an HTML Document
68+
69+
```csharp
70+
using (HTMLDocument document = new HTMLDocument())
71+
{
72+
// Code for HTML document manipulation goes here
73+
}
74+
```
75+
76+
Within this step, you initiate an HTML document using `HTMLDocument`. This document will be the basis for your HTML manipulation.
77+
78+
### Step 4: Add Content to the HTML Document
79+
80+
```csharp
81+
document.Body.AppendChild(document.CreateTextNode("Hello world!!!"));
82+
```
83+
84+
This line adds a simple "Hello world!!!" text to the HTML document. You can modify this content according to your requirements.
85+
86+
### Step 5: Convert HTML to XPS
1087

11-
## Complete Source Code
1288
```csharp
13-
public static void Run()
14-
{
15-
// ExStart:1
16-
// The path to the documents directory
17-
string dataDir = "Your Data Directory";
18-
// Create a custom StreamProvider based on ICreateStreamProvider interface
19-
using (MemoryStreamProvider streamProvider = new MemoryStreamProvider())
20-
{
21-
// Create a simple HTML document
22-
using (HTMLDocument document = new HTMLDocument())
23-
{
24-
// Add your first 'hello world' to the document.
25-
document.Body.AppendChild(document.CreateTextNode("Hello world!!!"));
26-
// Convert HTML document to XPS by using the custom StreamProvider
27-
Aspose.Html.Converters.Converter.ConvertHTML(document, new XpsSaveOptions(), streamProvider);
28-
// Get access to the memory stream that contains the result data
29-
var memory = streamProvider.Streams[0];
30-
memory.Seek(0, SeekOrigin.Begin);
31-
// Flush the result data to the output file
32-
using (FileStream fs = File.Create(dataDir + "output.xps"))
33-
{
34-
memory.CopyTo(fs);
35-
}
36-
}
37-
}
38-
// ExEnd:1
39-
}
40-
}
41-
public class MemoryStreamProvider : ICreateStreamProvider
42-
{
43-
// List of MemoryStream objects created during the document rendering
44-
public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
45-
public Stream GetStream(string name, string extension)
46-
{
47-
// This method is called when the only one output stream is required, for instance for XPS, PDF or TIFF formats
48-
MemoryStream result = new MemoryStream();
49-
Streams.Add(result);
50-
return result;
51-
}
52-
public Stream GetStream(string name, string extension, int page)
53-
{
54-
// This method is called when the creation of multiple output streams are required. For instance during the rendering HTML to list of the image files (JPG, PNG, etc.)
55-
MemoryStream result = new MemoryStream();
56-
Streams.Add(result);
57-
return result;
58-
}
59-
public void ReleaseStream(Stream stream)
60-
{
61-
// Here You can release the stream filled with data and, for instance, flush it to the hard-drive
62-
}
63-
public void Dispose()
64-
{
65-
// Releasing resources
66-
foreach (var stream in Streams)
67-
stream.Dispose();
68-
}
89+
Aspose.Html.Converters.Converter.ConvertHTML(document, new XpsSaveOptions(), streamProvider);
6990
```
91+
92+
Here, you use the `Converter` class to convert the HTML document to XPS format. The `XpsSaveOptions()` provides settings for the conversion, and `streamProvider` manages the output.
93+
94+
### Step 6: Save the Output
95+
96+
```csharp
97+
var memory = streamProvider.Streams[0];
98+
memory.Seek(0, SeekOrigin.Begin);
99+
100+
using (FileStream fs = File.Create(dataDir + "output.xps"))
101+
{
102+
memory.CopyTo(fs);
103+
}
104+
```
105+
106+
In this step, you retrieve the converted XPS data from the memory stream and save it to an output file named "output.xps" in the specified data directory.
107+
108+
## Conclusion
109+
110+
In this tutorial, we've covered the fundamentals of using Aspose.HTML for .NET. We started by setting up the prerequisites, importing the necessary namespaces, and then broke down a code example into multiple steps to convert an HTML document to XPS format.
111+
112+
Aspose.HTML for .NET offers a wide range of capabilities beyond what we've explored here. To further enhance your skills, refer to the [official documentation](https://reference.aspose.com/html/net/) and explore more advanced features and use cases.
113+
114+
## FAQ's
115+
116+
### Q1. What is Aspose.HTML for .NET?
117+
118+
A1: Aspose.HTML for .NET is a powerful library that allows .NET developers to work with HTML documents, including creation, manipulation, and conversion to various formats.
119+
120+
### Q2. Where can I download Aspose.HTML for .NET?
121+
122+
A2: You can download the library from [this link](https://releases.aspose.com/html/net/).
123+
124+
### Q3. Is there a free trial available?
125+
126+
A3: Yes, you can access a free trial of Aspose.HTML for .NET [here](https://releases.aspose.com/).
127+
128+
### Q4. How can I get temporary licenses?
129+
130+
A4: Temporary licenses can be obtained from [here](https://purchase.aspose.com/temporary-license/).
131+
132+
### Q5. Where can I seek help or discuss issues related to Aspose.HTML for .NET?
133+
134+
A5: You can visit the official Aspose forums for support and discussions at [this link](https://forum.aspose.com/).

0 commit comments

Comments
 (0)