There are 2 ways to install SelectPdf library:
Using a NuGet package (.NET Framework and .NET Core)
The easiest way to install SelectPdf is by using a Nuget Package. Create your project, go to Nuget Package Manager and install one of the following packages:
.NET Framework version - AnyCPU (.NET 2.0 and .NET 4.0-4.5) - Select.Pdf: https://www.nuget.org/packages/Select.Pdf/.
.NET Framework version - x64 optimized version - Select.Pdf.x64: https://www.nuget.org/packages/Select.Pdf.x64/.
.NET Core version - Windows only (and .NET 4.6.1 and .NET 4.7.2) - Select.Pdf.NetCore: https://www.nuget.org/packages/Select.Pdf.NetCore/.
.NET Core version with Blink rendering engine - Windows only (and .NET 4.6.1 and .NET 4.7.2)- Select.Pdf.NetCore.Blink: https://www.nuget.org/packages/Select.Pdf.NetCore.Blink/.
Note 1: If the x64 version is used, the application needs to target x64 platform and it needs to run in an x64 worker process.
Note 2: The .NET Core version is for .NET Core 2.0 or above through .NET Standard 2.0. Currently it requires a Windows system to run. It does not work on Linux or Mac or Xamarin.
Note 3: Blink rendering engine only works with .NET Core version and with .NET Framework starting with 4.6.1. Blink rendering engine was introduced with SelectPdf v19.1.
SelectPdf can be downloaded from the product site: https://selectpdf.com. The free trial product archive download page is this one: https://selectpdf.com/downloads/. SelectPdf is shipped as a product archive with the following structure:
Contains the assemblies and related files needed by SelectPdf Library for .NET.
Select.Pdf Library is shipped with different versions for CLR 2.0 (.NET 2.0, 3.5) and for CLR 4.0 (.NET 4.0 and above) and for .NET Core.
Note: The .NET Core version and .NET Framework versions (targeting 4.6.1 or above) have additional dependencies that need to be installed via Nuget.
Contains the product documentation in CHM format.
Contains C# and VB.NET samples that show how to use most of the features the library provides.
To use SelectPdf in a .NET project, a reference needs to be added to Select.Pdf.dll. Two additional files are also required: Select.Html.dep used by the html to pdf converter and Select.Tools.dep used by the pdf to text and pdf to image converter. These files need to be copied into the bin folder of the application, next to Select.Pdf.dll. Alternatively, the path to Select.Html.dep can be specified using the HtmlEngineFullPath property of the GlobalProperties class. The path to Select.Tools.dep can be specified using the PdfToolsFullPath property of the GlobalProperties class.
Important: If any of the properties HtmlEngineFullPath or PdfToolsFullPath of the GlobalProperties class is used, do not forget to include the full file name (Select.Html.dep or Select.Tools.dep) with it.
If Blink rendering engine is needed (only works with the .NET Core version and with .NET Framework 4.6.1 or above), Blink (Chromium) binaries need to be installed. That can be done via Nuget: https://www.nuget.org/packages/Select.Pdf.NetCore.Blink/. Alternatively, Blink binaries can be downloaded from SelectPdf website: https://selectpdf.com/downloads/. In this case, the Chromium folder needs to be manually copied to the bin folder of the application.
If SelectPdf needs to be installed into GAC, the only dll that has to to be added to GAC is Select.Pdf.dll. The related files (Select.Html.dep and Select.Tools.dep) will be automatically copied to GAC as linked resources, so no additional action is needed for them (this is only valid for the .NET Framework 2.0 and 4.0-4.5 versions).
SelectPdf Library has specific assemblies depending on the target platform. For some platforms, the library has external dependencies that need to be installed.
.NET Framework 2.0 - No external dependencies.
.NET Framework 4.0-4.5 - No external dependencies.
.NET Framework 4.6.1 - Newtonsoft.Json (12.0.1+), System.Buffers (4.5.0+), System.Numerics.Vectors (4.5.0+), System.Threading.Tasks.Extensions (4.5.2+).
.NET Framework 4.7.2 - Newtonsoft.Json (12.0.1+), System.Buffers (4.5.0+), System.Numerics.Vectors (4.5.0+), System.Threading.Tasks.Extensions (4.5.2+).
.NET Core 2.0 and above (through .NET Standard 2.0) - Microsoft.Win32.Registry (4.5.0+), Newtonsoft.Json (12.0.1+), System.Buffers (4.5.0+), System.Drawing.Common (4.5.1+), System.Numerics.Vectors (4.5.0+), System.Security.Cryptography.Pkcs (4.5.2+), System.Security.Permissions (4.5.0+), System.Security.Principal.Windows (4.5.1+), System.Text.Encoding.CodePages (4.5.1), System.Threading.Tasks.Extensions (4.5.2+).
Note: All external dependencies can be installed via Nuget.