Test in a live environment
Test in production without watermarks.
Works wherever you need it to.
If you wish to convert your HTML site to other formats, you are in the right place. This article will discuss how to transform your HTML, CSS, and JS to PDF. Nowadays, everything is technology-based, and those who engineer these technologies need time-saving solutions — in one of the most-used programming languages, .NET's C#. In C#, the traditional ways to tackle PDF files and manipulate them are complex and time-consuming. The most common uses for PDF files are:
Many tools have been developed to handle these PDF conversions and deal with any problems that arise. This article will compare the two most-praised C# libraries for PDF conversions among developers. The relevant tools are as follows:
IronPDF is the dream tool for HTML site conversion in .NET and .NET core development. It not only converts HTML, but also provides numerous other features. Within .NET Core and framework projects, IronPDF allows developers to generate, modify, and extract PDF documents. Developers can quickly create or transform PDFs from HTML documents using the IronPDF library.
IronPDF allows you to automatically read information from PDF files and inject it into your .NET apps and data storage systems. Content from old PDF document storage may be imported, migrated and indexed into your document management and business process applications.
2.1.1. PDF Conversions
This feature includes PDF creations from different formats such as HTML, HTML Strings, MVC views, Web Forms, and URLs.
2.1.2. PDF Imaging
This allows users to create images from PDFs and create PDFs from images. It includes image extraction, support for different image extensions, and PDF printing.
2.1.3. PDF Files IO
IronPDF also provides the features of 128 bit-encryption for PDFs, locking PDFs with passwords, and digitally signing PDFs.
2.1.4. Editing PDFs
This feature of IronPDF provides all types of PDF formatting such as adding watermarks, adding pages, removing pages, backgrounds, foregrounds, and much more. In short, IronPDF provides all the things you can think of to do with PDFs.
2.1.5. PDF Content Extraction
In many cases, you can extract embedded text from PDFs directly. If that doesn't work, your reader is probably actually embedded in an image. Use the IronOCR library to scan documents for the visual text, not plain text.
2.1.6. Headers and Footers
Headers and footers can be added when a PDF is created or added to existing PDFs. The Print Options property allows you to craft a header and footer for each document page. Access these options on the Chrome PDF Renderer object. This sample works inside a .NET Core console app.
2.1.7. Compatibility
IronPDF supports almost all operating systems and frameworks compatible with C# such as:
DocRaptor is a professional solution for document conversion, but unlike IronPDF, it offers limited features for multiple programming dictionaries. It is an API-based tool and can be integrated with any language. It is high-quality and fast, thereby saving you time. It also provides a feature to convert XML Files to XLSX.
DocRaptor offers to host your documents for you. It has CSS and JS support. These are excellent features for small businesses that do not own their own servers.
3.1.1. HTML to PDF Generation
DocRaptor makes HTML, CSS, and JS to PDF generation and XLS documents quick and straightforward. Simply post your HTML content and the needed arguments to the Docs APIs, either as a form-encoded text or as a JSON object.
3.1.2 HTML to Excel Format
Many reports and data exports require the support of both PDF and Excel. DocRaptor's HTML-based tool makes this easy!
3.1.3. Document Hosting
The document will be saved on unbranded URLs and will be accessible to anyone from anywhere. You can keep it there indefinitely or remove it after a certain date or amount of downloads.
Note:
According to data collected from the NuGet Website, IronPDF is more popular then DocRaptor, with total downloads of 3.0 M, with daily downloads averaging 1.3 K. On the other hand, DocRaptor has only 114.9 K total downloads, with a daily average of 51 downloads per day.
Open the Visual Studio software and go to the File menu. Select "new project" and then select console application. In this article, we are going to use a console application to generate PDF documents.
Enter the project name and select the path in the appropriate text box. Then, click the create button. Select the required .NET framework, as in the screenshot below:
The Visual Studio project will now generate the structure for the selected application, and if you have selected the console, Windows, and web application, it will open the program.cs file where you can enter the code and build/run the application.
Now we can add the library and test the program.
The IronPDF library can be downloaded and installed in four different ways. These are:
The Visual Studio software provides the NuGet Package Manager option to install the package directly to the solution. The below screenshot shows how to open the NuGet Package Manager.
It provides the search box to show the list available package libraries from the NuGet website. In the package manager, we need to search for the keyword "IronPDF", as in the below screenshot:
From the above image, we will get the list of the related packages search list. We need to select the IronPDF option and install the package our the solution.
Install-Package IronPdf
Now the package will download/install to the current project and be ready to use.
The third way is to download the NuGet package directly from the webpage.
Click the link here to download the latest package directly from the webpage. After the download, follow the steps below to add the package to the project.
The DocRaptor team offers nearly all the same methods to integrate the API. These are:
As explained previously for IronPDF, the steps are the same for opening the NuGet Package Manager.
After opening the Package Manager, simply write DocRaptor in the search bar.
As the above image shows, there are three results for DocRaptor. Select the required option.
In Visual Studio menu, Go to Tools-> NuGet Package manager -> Package manager Console. Enter the following line in the package manager console tab: install-Package DocRaptor. Now the package will download/install to the current project and be ready to use.
The third way is to download the NuGet package directly from the webpage.
Both tools include this functionality for HTML conversion, although they do so in somewhat different ways.
The conversion of pages using IronPDF does not require the use of JSON and encryption techniques it's quite simple actually. IronPDF allows a lot of different methods. For example:
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
Dim Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
private void Form1_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
//Changes the ASPX output into a pdf instead of HTML
}
private void Form1_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
//Changes the ASPX output into a pdf instead of HTML
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
'Changes the ASPX output into a pdf instead of HTML
End Sub
DocRaptor handles the conversion using HTTP post requests using JSON Support, but only provides features to convert URL and HTML files to PDF.
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System.IO;
class Example {
tatic void Main(string [] args) {
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
Doc doc = new Doc(
test: true,
//documentContent: System.IO.File.ReadAllText(@"custom-fonts- content.html"),
documentUrl: "http://www.docraptor.com/examples/invoice.html",
name: "docraptor-csharp.pdf",
documentType: Doc.DocumentTypeEnum.Pdf
);
yte [] createResponse = docraptor.CreateDoc(doc);
}
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System.IO;
class Example {
tatic void Main(string [] args) {
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
Doc doc = new Doc(
test: true,
//documentContent: System.IO.File.ReadAllText(@"custom-fonts- content.html"),
documentUrl: "http://www.docraptor.com/examples/invoice.html",
name: "docraptor-csharp.pdf",
documentType: Doc.DocumentTypeEnum.Pdf
);
yte [] createResponse = docraptor.CreateDoc(doc);
}
Imports DocRaptor.Client
Imports DocRaptor.Model
Imports DocRaptor.Api
Imports System.IO
Friend Class Example
Private tatic Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Dim doc As New Doc(test:= True, documentUrl:= "http://www.docraptor.com/examples/invoice.html", name:= "docraptor-csharp.pdf", documentType:= Doc.DocumentTypeEnum.Pdf)
Dim createResponse() As yte = docraptor.CreateDoc(doc)
End Sub
Both IronPDF and DocRaptor support the formatting of PDFs. However, IronPDF offers single file support, whereas DocRaptor uses multiple file support.
To make sure the expected behavior of output PDF we use different formatting styles in the article we will discuss some of them and compare them with DocRaptor.
IronPDF supports WebFonts including the incredible Google Fonts library. This gives the developer full font control without needing to depend on system typefaces.
using IronPdf;
ChromePdfRenderer myChromePdfRenderer = new IronPdf.ChromePdfRenderer();
var Renderer = new IronPdf.ChromePdfRenderer();
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";
Renderer.RenderingOptions.RenderDelay = 500;
var doc = Renderer.RenderHtmlAsPdf(html);
doc.SaveAs("font.pdf");
using IronPdf;
ChromePdfRenderer myChromePdfRenderer = new IronPdf.ChromePdfRenderer();
var Renderer = new IronPdf.ChromePdfRenderer();
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";
Renderer.RenderingOptions.RenderDelay = 500;
var doc = Renderer.RenderHtmlAsPdf(html);
doc.SaveAs("font.pdf");
Imports IronPdf
Private myChromePdfRenderer As ChromePdfRenderer = New IronPdf.ChromePdfRenderer()
Private Renderer = New IronPdf.ChromePdfRenderer()
Private html = "<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>"
Renderer.RenderingOptions.RenderDelay = 500
Dim doc = Renderer.RenderHtmlAsPdf(html)
doc.SaveAs("font.pdf")
IronPDF provides methods to 'watermark' PDF documents with HTML. Watermarks may be set to render above or below existing content, and have the built-in capacity for opacity, rotation, and hyperlinks.
using IronPdf;
// Stamps a watermark onto a new or existing PDF
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf
using IronPdf;
// Stamps a watermark onto a new or existing PDF
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf
Imports IronPdf
' Stamps a watermark onto a new or existing PDF
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Pdf.SaveAs("TangibleTempVerbatimOpenTagC:\Path\To\Watermarked.pdf
The IronPDF “Header and Footer” functionality allows us to merge information about page numbering.
// PM> Install-Package IronPdf
using IronPdf;
var html = @"
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>";
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
// PM> Install-Package IronPdf
using IronPdf;
var html = @"
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>";
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
Private html = "
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>"
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.HtmlFooter = New IronPdf.HtmlHeaderFooter() With {
.MaxHeight = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
Dim pdfdoc = Renderer.RenderHtmlAsPdf(html)
pdfdoc.SaveAs("pageNumber.pdf")
DocRaptor supports PDF formatting in .NET API — but is quite difficult to handle. Let's examine three previous formatting examples:
Custom fonts are easy to use in DocRaptor. It works in the same manner as for a standard webpage. Here's a CSS example using a Google font:
CSS coding:
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v8/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff');
}
p {
font-family: Arial, Helvetica, sans-serif;
}
p.custom-font {
font-family: 'Open Sans', sans-serif;
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v8/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff');
}
p {
font-family: Arial, Helvetica, sans-serif;
}
p.custom-font {
font-family: 'Open Sans', sans-serif;
}
HTML coding:
<h2>Custom Fonts</h2>
<p>Hi, my name is Arial.</p>
<p class='custom-font'>I like to walk on the beach on warm Open Sans.</p>
<h2>Custom Fonts</h2>
<p>Hi, my name is Arial.</p>
<p class='custom-font'>I like to walk on the beach on warm Open Sans.</p>
C# coding:
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "custom-fonts",
test: true, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"custom-fonts-content.html"),
/ documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables rocessing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("custom-fonts.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "custom-fonts",
test: true, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"custom-fonts-content.html"),
/ documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables rocessing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("custom-fonts.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "custom-fonts", test:= True, documentContent:= System.IO.File.ReadAllText("custom-fonts-content.html"), / documentUrl:= "http://docraptor.com/examples/invoice.html", documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("custom-fonts.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
OUTPUT
Watermarks may be found on a lot of PDFs. Fortunately, DocRaptor's HTML-PDF tool helps make the creation of dynamically-produced watermarked documents a breeze!
CSS coding:
#watermark {
flow: static(watermarkflow);
font-size: 120px;
opacity: 0.5;
transform: rotate(-30deg);
text-align: center;
}
#watermark {
flow: static(watermarkflow);
font-size: 120px;
opacity: 0.5;
transform: rotate(-30deg);
text-align: center;
}
HTML coding:
<body><div id="watermark">PREVIEW</div>
<div style="page-break-after: always;">Page 1</div>
<div style="page-break-after: always;">Page 2</div>
<div style="page-break-after: always;">Page 3</div>
</body>
<body><div id="watermark">PREVIEW</div>
<div style="page-break-after: always;">Page 1</div>
<div style="page-break-after: always;">Page 2</div>
<div style="page-break-after: always;">Page 3</div>
</body>
C# coding:
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "text-based-watermark", test:= False, documentContent:= System.IO.File.ReadAllText("text-based-watermark-content.html"), documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("text-based-watermark.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
With open-source HTML to PDF tools, adding page numbers to PDF documents is difficult and sometimes almost impossible, but DocRaptor makes it a breeze!
CSS coding:
@page {
@bottom {
content: "Page " counter(page, upper-alpha) " of " counter(pages, decimal);
} }
@page {
@bottom {
content: "Page " counter(page, upper-alpha) " of " counter(pages, decimal);
} }
HTML coding:
<body>
<div style="page-break-after: always;">Page1</div>
<div style="page-break-after: always;">Page2</div>
<div style="page-break-after: always;">Page3</div>
<div id="page4" style="page-break-after: always;">Page4, with reset page counter</div>
</body>
<body>
<div style="page-break-after: always;">Page1</div>
<div style="page-break-after: always;">Page2</div>
<div style="page-break-after: always;">Page3</div>
<div id="page4" style="page-break-after: always;">Page4, with reset page counter</div>
</body>
C# coding:
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "page-numbers",
test: true, // test documents are but watermarked
documentContent: System.IO.File.ReadAllText(@"page-numbers-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("page-numbers.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "page-numbers",
test: true, // test documents are but watermarked
documentContent: System.IO.File.ReadAllText(@"page-numbers-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("page-numbers.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "page-numbers", test:= True, documentContent:= System.IO.File.ReadAllText("page-numbers-content.html"), documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("page-numbers.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
DocRaptor is an API-based document converter that converts HTML files and URLs to PDFs, as well as XML to XLSX files. It supports eight different programming languages. However, it only provides monthly licensing with a document limit, starting from a free license with a five document limit per month, up to a silver package which includes a 40,000 document limit and a price tag of $1000 per month. DocRaptor is great for small organizations and offers a smaller professional package with a 325 document limit for $29. Check this link for more prices.
Note:
DocRaptor does not provide a one-time purchase or project-based licenses.
IronPDF is a library that provides a developer's license for free. IronPDF also has a distinct pricing structure: the lite bundle starts at $749 with no hidden fees. The redistribution of SaaS and OEM products is also possible. All licenses come with a 30-day money-back guarantee, a year of software support and upgrades, dev/staging/production validity, and a perpetual license (one-time purchase). To see IronPDF's entire price structure and license, go here.
Note:
IronPDF provides the option to connect and join two or more PDFs together. It also provides the option to extract pages, copy pages, remove specific pages, and multithreaded PDF-generation, something which its competitor does not offer.
From a remote server, IronPDF does not generate HTML to PDF. Behind the scenes, it starts an instance of a true standard-compliant browser (without any additional software needing to be installed). The HTML is rendered with total accuracy — and in a vector format suited for commercial printing to the highest standards. The result is a crisp, high-quality PDF. License and price information is readily available on the webpage.
DocRaptor also transforms HTML in any format to PDF with maximum accuracy and minimal downtime, thanks to the fact that it operates on numerous cloud servers. DocRaptor is a web-based API that provides an online PDF conversion service. The DocRaptor HTML to PDF API is straightforward to use thanks to the server-side API client libraries. These libraries may be found in a number of prominent server-side programming languages. The webpage has pricing information.
In the above article we compared both tools and concluded that, for .NET or C# document conversion, developers prefer IronPDF over DocRaptor for many reasons. IronPDF offers more features than DocRaptor. DocRaptor offers good packages for small organizations, but it is quite expensive and does not provide an ongoing license over the longer term. On the other hand, IronPDF offers more features and a single-time purchase license at a lower price. IronPDF is preferable for both small organizations and big-infrastructure organizations. DocRaptor can be useful when dealing with PDFs on different server-side platforms. Moreover, IronPDF packages provide a lifetime license, and there are no ongoing costs, while DocRaptor does have ongoing costs.
9 .NET API products for your office documents