ABCpdf 13.2.0

dotnet add package ABCpdf --version 13.2.0                
NuGet\Install-Package ABCpdf -Version 13.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ABCpdf" Version="13.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ABCpdf --version 13.2.0                
#r "nuget: ABCpdf, 13.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ABCpdf as a Cake Addin
#addin nuget:?package=ABCpdf&version=13.2.0

// Install ABCpdf as a Cake Tool
#tool nuget:?package=ABCpdf&version=13.2.0                

Test Code

Quite often when creating a new project you want some simple test code to ensure your installation is correct.

First you need to ensure you are using the correct namespace. Insert the following at the top of your C# module.

using WebSupergoo.ABCpdf13;

If you are in a forms or console application, the following Hello World code may be useful.

using (Doc doc = new Doc()) {
	doc.FontSize = 96;
	doc.AddText("Hello World!");
	doc.Save(@"C:\_output.pdf"); // adjust path for your needs
}

Alternatively if you are running under ASP.NET, you may want a Page_Load function something like this.

byte[] theData = null;
using (Doc doc = new Doc()) {
	doc.FontSize = 96;
	doc.AddText("Hello World!");
	theData = doc.GetData();
}
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "inline; filename=MyPDF.PDF");
Response.AddHeader("content-length", theData.Length.ToString());
Response.BinaryWrite(theData);
Response.End();

For more example projects, please download the installer bundle from the ABCpdf download site.

Documentation

Documentation for ABCpdf can be found here:

https://www.websupergoo.com/helppdfnet/

Alternatively you can download the installer bundle from the ABCpdf download site as this contains full documentation in CHM format.

Installation

ABCpdf is an Xcopy deployment. All that is needed is that the DLLs and associated files be copied to your bin directory.

This should happen automatically because it is what is specified in the NuGet installer. However not all platforms and not all project types do this reliably.

For example if you select the Visual Studio "Create Web Site" option and then select an "ASP.NET Web Forms Site" you will get a web site without a project file. NuGet requires a project file for certain types of installations so it will leave some DLLs out. However if you instead select "Create Project" and select an "ASP.NET Web Application" then this will work fine.

Here we explain the installation process in case you need to do anything yourself.

At minimum you only need either ABCpdf.dll or ABCpdf.NET5.dll (for .NET 4 and .NET 5 respectively) and either ABCpdf13-32.dll or ABCpdf13-64.dll (for x86 and x64 respectively). If you are not sure then just copy all of them to your bin directory.

The extra DLLs and files which come with ABCpdf provide extra functionality like HTML import, 3D rendering and AcroForm JavaScript. They are not required for all deployments but we copy them to the bin directory as standard in case you need them.

For more details please see the Manual Installation section of the documentation.

License

When you run the installer a trial license is created for you. If you do not have a valid license - either full or trial - then an exception will be raised when you use methods like Doc.Save.

Most notably, if you Xcopy deploy to another machine, the license is not copied. So if you push your bin directory up to a machine in the cloud, you need to ensure that it gets a copy of your license.

To do this you can use code of the following form to be called before any ABCpdf objects are created.

if (!XSettings.InstallLicense(" **** insert your license key here *** ")) {
	Response.Write("Could not install trial license. ");
	Response.Write("You have: " + XSettings.LicenseDescription);
	return;
}

The license key you need to insert will typically be a trial key which looks something like this.

"XeJREBodo/8B4SFWbfuBP42jLr5NPdtypry10sywB1pg4nufPib5NccZcUJK72QFBw=="

You can get your trial key from PDFSettings.exe - part of the ABCpdf installation. Alternatively you can run the following ASP.NET code to report your trial license.

Response.Write("Code for installation of trial license:</br>");
string key = System.Web.HttpUtility.HtmlEncode(XSettings.Key);
Response.Write("if (!XSettings.InstallLicense(\"" + key + "\")) {..</br>");

*** Azure ***

It is important to understand that Azure is not one thing - it is a set of varied types of virtual machines and devices. Some are simpler, cheaper and more restrictive. Some are more sophisticated.

Azure is also a rapidly moving target. What is current and default now, may not be in the future. With a growth of almost 100% every year, you have to expect a certain amount of change and perhaps even some rough edges.

ABCpdf will run on the default Azure instances. However the simpler default Azure instances do not have the features required for functionality like HTML import. For those you need a slightly different model. See our Azure deployment guide for details.

http://www.websupergoo.com/support-azure-abcpdf.htm

Sometimes ASP.NET Azure deployments are 32 bit. The platform itself is x64 but it may run code, by default, in a 32 bit space. You may wish to change this in your Azure settings.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 is compatible.  netcoreapp3.1 is compatible. 
.NET Framework net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.0

    • No dependencies.
  • .NETCoreApp 3.1

    • No dependencies.
  • .NETFramework 4.0

    • No dependencies.
  • net5.0

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (10)

Showing the top 5 NuGet packages that depend on ABCpdf:

Package Downloads
ABCpdf.ABCGecko

The ABCpdf .NET Gecko runtime for HTML to PDF conversion using the Firefox rendering engine. ABCpdf operates three HTML rendering engines for insertion of HTML content. The ABCChrome engine provides google Chrome style HTML conversion. The MSHTML engine leverages IE as installed on the local machine. The Gecko runtime adds Firefox-style HTML rendering to the mix. Placed HTML support means your HTML can be treated just like any other media - placed wherever you like on the page. Paged HTML support allows you to flow your HTML from one area to another - across pages or columns or both. A vast range of options gives you full control over the HTML rendering process and DOM. In terms of features, probably most notably, the Gecko and Chrome engines support repeated table headers and footers. They are also extremely good on SVG and AJAX for charts and maps. The MSHTML and Chrome engines tends to be faster and the MSHTML engine provides a more literal screen based output. ABCChrome and Gecko generally support modern HTML features better than MSHTML.

ABCpdf.ABCWebKit

The ABCpdf .NET ABCWebKit runtime for HTML to PDF conversion using the WebKit rendering engine. The ABCWebKit engine uses a signed version of WkHtmlToPdf. It's HTML rendering is based on a modified version of the QtWebKit API from Qt4 for which support ended in 2015. It is provided as a workaround solution for more restrictive operating system environments such as with Azure App Services. Given its lack of support it is recommeneded that you do not use it with any untrusted HTML but only for HTML/JavaScript that you have complete control over.

CertiPay.PDF

This library is intended to wrap PDF generation code in our system

ABCpdf.ABCChrome65

The ABCpdf .NET ABCChrome65 runtime for HTML to PDF conversion using the Chrome 65 rendering engine. ABCpdf operates three HTML rendering engines for insertion of HTML content. The ABCChrome engine provides google Chrome style HTML conversion. The MSHTML engine leverages IE as installed on the local machine. The Gecko runtime adds Firefox-style HTML rendering to the mix. Placed HTML support means your HTML can be treated just like any other media - placed wherever you like on the page. Paged HTML support allows you to flow your HTML from one area to another - across pages or columns or both. A vast range of options gives you full control over the HTML rendering process and DOM. In terms of features, probably most notably, the Gecko and Chrome engines support repeated table headers and footers. They are also extremely good on SVG and AJAX for charts and maps. The MSHTML and Chrome engines tend to be faster and the MSHTML engine provides a more literal screen based output. ABCChrome and Gecko generally support modern HTML features better than MSHTML.

ABCpdf.ABCChrome123.Linux

The ABCpdf .NET ABCChrome123 Linux runtime for HTML to PDF conversion using the Chrome 123 rendering engine. You will need to reference this package if you are using ABCChrome123 on Windows and you want to deploy to a Linux platform. ABCpdf operates three HTML rendering engines for insertion of HTML content. The ABCChrome engine provides google Chrome style HTML conversion. The MSHTML engine leverages IE as installed on the local machine. The Gecko runtime adds Firefox-style HTML rendering to the mix. Placed HTML support means your HTML can be treated just like any other media - placed wherever you like on the page. Paged HTML support allows you to flow your HTML from one area to another - across pages or columns or both. A vast range of options gives you full control over the HTML rendering process and DOM. In terms of features, probably most notably, the Gecko and Chrome engines support repeated table headers and footers. They are also extremely good on SVG and AJAX for charts and maps. The MSHTML and Chrome engines tend to be faster and the MSHTML engine provides a more literal screen based output. ABCChrome and Gecko generally support modern HTML features better than MSHTML.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on ABCpdf:

Repository Stars
matthidinger/DoddleReport
Generate custom reports (PDF, Excel, etc) from any IEnumerable datasource.
Version Downloads Last updated
13.2.0 24,655 10/14/2024
13.1.6 6,171 10/9/2024
13.1.5 12,484 9/23/2024
13.1.4 34,628 8/21/2024
13.1.3 46,231 7/16/2024
13.1.2 18,606 7/1/2024
13.1.1 34,950 5/30/2024
13.1.0 39,186 5/8/2024
13.0.1.1 63,256 3/28/2024
13.0.0.9 25,278 3/14/2024
13.0.0.8 31,574 2/28/2024
13.0.0.7 50,275 1/31/2024
13.0.0.6 6,887 1/23/2024
13.0.0.5 25,972 1/3/2024
13.0.0.4 58,157 12/19/2023
13.0.0.3-rc 7,447 11/27/2023
13.0.0.2-rc 5,443 11/20/2023
13.0.0.1-rc 5,504 11/13/2023
13.0.0-rc 6,000 10/16/2023
12.5.1 196,205 9/4/2023
12.5.0.9 43,812 7/20/2023
12.5.0.8 61,270 6/7/2023
12.5.0.7 29,226 5/15/2023
12.5.0.6 13,052 4/28/2023
12.5.0.5 66,145 3/30/2023
12.5.0.4 51,769 3/1/2023
12.5.0.3 14,912 2/27/2023 12.5.0.3 is deprecated.
12.5.0.2 22,059 2/21/2023 12.5.0.2 is deprecated.
12.5.0.1 24,613 2/7/2023 12.5.0.1 is deprecated.
12.5.0 6,982 2/6/2023 12.5.0 is deprecated.
12.4.0.1 81,371 12/19/2022
12.4.0 36,604 11/15/2022
12.3.0.6 25,214 11/9/2022
12.3.0.5 80,055 10/5/2022
12.3.0.4 19,474 9/21/2022
12.3.0.3 59,928 8/31/2022
12.3.0.2 62,048 8/1/2022
12.3.0 104,096 5/31/2022
12.2.0.5 104,644 5/23/2022
12.2.0.4 54,861 4/25/2022
12.2.0.3 76,916 3/23/2022
12.2.0.2 27,343 3/9/2022
12.2.0.1 66,162 2/7/2022
12.2.0 44,888 1/4/2022
12.1.1 21,005 12/2/2021
12.1.0.9 51,425 10/18/2021
12.1.0.8 67,065 10/7/2021
12.1.0.7 22,184 9/13/2021
12.1.0.6 52,670 8/19/2021
12.1.0.5 97,229 6/15/2021
12.1.0.4 127,710 5/24/2021
12.1.0.3 13,472 5/5/2021
12.1.0.2 10,424 4/26/2021
12.1.0.1 22,556 3/18/2021
12.0.1.6 28,616 3/4/2021
12.0.1.5 46,085 2/9/2021
12.0.1.4 13,389 1/19/2021
12.0.1.3-rc 5,792 1/13/2021
12.0.1.2-rc 5,391 1/8/2021
12.0.1.1-rc 5,658 12/17/2020
12.0.1-rc 5,534 12/7/2020
11.3.14 410,494 12/7/2020
11.3.12 89,848 10/19/2020
11.3.10 115,474 7/27/2020
11.3.9 66,832 6/17/2020
11.3.8 29,270 4/28/2020
11.3.7 96,861 3/22/2020
11.3.6 70,698 1/27/2020
11.3.5 28,701 12/20/2019
11.3.4 38,984 11/18/2019
11.3.3 30,468 9/29/2019
11.3.2 156,179 7/18/2019
11.3.1 65,240 6/13/2019
11.2.6 87,563 4/15/2019
11.2.5 44,917 3/4/2019
11.2.4 41,547 1/14/2019
11.2.3 47,500 10/29/2018
11.2.2 37,837 9/3/2018
11.2.1 47,518 7/18/2018
11.2.0 128,140 6/11/2018
11.1.0.2 47,999 4/24/2018
11.1.0.1 46,556 3/21/2018
11.1.0 67,821 2/5/2018
11.0.0.3 30,972 12/5/2017
10.1.2.6 345,741 9/26/2017
10.1.2.5 38,075 8/14/2017
10.1.2.4 28,425 6/26/2017
10.1.2.3 22,138 5/30/2017
10.1.2.2 27,652 3/27/2017
10.1.2.1 23,571 2/17/2017
10.1.2 8,841 2/15/2017
10.1.1.7 41,365 12/20/2016
10.1.1.5 19,488 11/1/2016
10.1.1.4 25,766 9/15/2016
10.1.1.3 8,569 8/24/2016
10.1.1.2 10,881 7/26/2016
10.1.1.1 12,811 6/21/2016
10.1.1 14,714 5/17/2016
10.1.0.9 40,514 4/20/2016
10.1.0.8 15,251 3/1/2016
10.1.0.7 26,558 12/3/2015
10.1.0.6 40,391 10/28/2015
10.1.0.5 21,379 9/29/2015
10.1.0.3 11,895 8/18/2015
10.1.0.2 12,874 7/10/2015
10.1.0 8,676 5/22/2015
10.0.0 53,295 2/10/2015
9.1.2.4 180,213 2/5/2015
9.1.2.3 36,135 11/18/2014
9.1.1.9 69,503 7/11/2014
9.1.1.8 15,760 5/26/2014
9.1.1.7 50,100 4/2/2014
9.1.1.6 7,253 3/13/2014
9.1.1.5 246,828 1/27/2014
9.1.1.4 87,090 12/31/2013
9.1.1.3 6,557 11/13/2013
9.1.1.2 8,030 10/7/2013
9.1.0.2 67,800 6/6/2013
9.0.0.5 39,428 4/3/2013