EVO PDF Client for Xamarin
EVO PDF Client for Xamarin can be easily integrated in Xamarin applications on various platforms to create PDF documents from HTML pages and strings.
The library can also be used to convert HTML to images, convert HTML to SVG, create, edit and merge PDF documents.
You can see the http://www.evopdf.com/xamarin-html-to-pdf-converter.aspx product page for a complete list of library features.
The demo projects for Xamarin references the EVO PDF Client for .NET NuGet package and the EVO PDF Client Library for .NET Core from package is used.
Components and Features
- HTML to PDF Converter - Creates PDF documents from HTML with advanced support for CSS3, SVG, Web Fonts and JavaScript. The converter can automatically create PDF links, forms, bookmarks and table of contents from HTML tags. You can place the content from multiple HTML documents at any position in PDF pages, headers or footers
- HTML to Image Converter - Creates JPEG, PNG and Bitmap raster images from HTML documents
- HTML to SVG Converter - Creates high quality SVG vector images from HTML documents
- Word to PDF Converter - Creates PDF documents from documents in Word format
- Excel to PDF Converter - Creates PDF documents for the worksheets of an Excel document
- PDF to Image Converter - Takes snapshots of the PDF documents pages having the option to produce a multi-page TIFF image for a selected range of PDF pages
- PDF to HTML Converter - Converts the PDF pages to HTML documents having the option to produce an index file for a selected range of pages
- PDF to Text Converter - Extracts the text from the PDF pages in original layout from PDF or optimized for reading
- Search text in PDF documents returning the text position in PDF pages. Can be used to highlight a text in a PDF document
- Extract images from PDF keeping the images transparency
- Create PDF documents with text, graphics, images, headers and footers
- Create PDF documents with security features and digital signatures
- Create interactive PDF documents with forms, internal links, text notes and JavaScript actions
- Edit, stamp and merge PDF documents
Compatibility
The client library for .NET Core is compatible with any platform which supports .NET Standard 2.0 or above, including the platforms listed below:
- .NET Core 7, 6, 5, 3, 2, .NET Standard 2.0 , .NET Framework 4.6.2 (and above)
- Windows, Linux, macOS
- Azure, Azure App Service and Azure Functions
- Xamarin for iOS, macOS and Android
- Universal Windows Platform (UWP)
- Web, Console and Desktop applications
Getting Started
Before starting to use the EVO PDF Client for Xamarin in your applications you first have to install the EVO PDF Server.
The server can be installed as Azure Cloud Service Worker Role, Azure Cloud Service Web Role, Azure Service Fabric Application, IIS ASP.NET Web Application or Windows Service.
EVO PDF Server
EVO PDF Server can be downloaded from http://www.evopdf.com/download.aspx#client_server page of the website.
EVO PDF Server package contains the server files and detailed installation instructions for each platform.
You can start by installing EVO PDF Server as a Windows Service on the local development machine with default options. In this case the assigned IP address is 127.0.0.1.
After the EVO PDF Server was installed, you are ready to use the EVO PDF Client Library for Xamarin in your applications.
C# Code Samples
Copy the C# code lines from the section below to create a PDF document from a web page or from a HTML string and save the resulted PDF to a memory buffer for further processing or to a PDF file.
The server IP address is assigned during server installation and it can be omitted from HtmlToPdfConverter constructor if the server was installed on the localhost IP address 127.0.0.1 .
There are also variants of the constructor accepting an URL instead of IP address if the server was installed as a web service in Azure or in IIS.
At the top of your C# source file add the 'using EvoPdfClient;' statement to make available the EVO PDF Client API for your .NET application.
// add this using statement at the top of your C# file
using EvoPdfClient;
To convert in your Xamarin application for iOS a HTML string to a PDF document in a memory buffer, save it to a file and open that file a in PDF viewer you can use the C# code below.
// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);
// convert a HTML string to a memory buffer
byte[] htmlToPdfBuffer = converter.ConvertHtml("<b>Hello World</b> from EVO PDF !", null);
// write the memory buffer to a PDF file
string documentsFolder = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
string htmlToPdfFile = System.IO.Path.Combine(documentsFolder, "HtmlToMemory.pdf");
System.IO.File.WriteAllBytes(htmlToPdfFile, htmlToPdfBuffer);
// open the PDF document in the default PDF viewer
UIDocumentInteractionController pdfViewer = UIDocumentInteractionController.FromUrl(Foundation.NSUrl.FromFilename(htmlToPdfFile));
pdfViewer.PresentOpenInMenu(this.View.Frame, this.View, true);
To convert in your Xamarin application for iOS an URL to a PDF document in a memory buffer, save it to a file and open that file in a PDF viewer you can use the C# code below.
// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);
// convert an URL to a memory buffer
string htmlPageURL = "http://www.evopdf.com";
byte[] urlToPdfBuffer = converter.ConvertUrl(htmlPageURL);
// write the memory buffer to a PDF file
string documentsFolder = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
string urlToPdfFile = System.IO.Path.Combine(documentsFolder, "UrlToMemory.pdf");
System.IO.File.WriteAllBytes(urlToPdfFile, urlToPdfBuffer);
// open the PDF document in the default PDF viewer
UIDocumentInteractionController pdfViewer = UIDocumentInteractionController.FromUrl(Foundation.NSUrl.FromFilename(urlToPdfFile));
pdfViewer.PresentOpenInMenu(this.View.Frame, this.View, true);
To convert in your Xamarin application for Android a HTML string to a PDF document in a memory buffer, save it to a file and open that file a in PDF viewer you can use the C# code below.
// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);
// convert a HTML string to a memory buffer
byte[] htmlToPdfBuffer = converter.ConvertHtml("<b>Hello World</b> from EVO PDF !", null);
// write the memory buffer to a PDF file
string documentsFolder = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
string htmlToPdfFile = System.IO.Path.Combine(documentsFolder, "HtmlToMemory.pdf");
System.IO.File.WriteAllBytes(htmlToPdfFile, htmlToPdfBuffer);
// open the PDF document in the default PDF viewer
Android.Net.Uri uri = Android.Net.Uri.Parse("content://" + htmlToPdfFile);
Intent intent = new Intent(Intent.ActionView, uri);
intent.SetDataAndType(uri, "application/pdf");
intent.SetFlags(ActivityFlags.NewTask | ActivityFlags.GrantReadUriPermission);
this.ApplicationContext.StartActivity(intent);
To convert in your Xamarin application for Android an URL to a PDF document in a memory buffer, save it to a file and open that file in a PDF viewer you can use the C# code below.
// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);
// convert an URL to a memory buffer
string htmlPageURL = "http://www.evopdf.com";
byte[] urlToPdfBuffer = converter.ConvertUrl(htmlPageURL);
// write the memory buffer to a PDF file
string documentsFolder = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
string urlToPdfFile = System.IO.Path.Combine(documentsFolder, "UrlToMemory.pdf");
System.IO.File.WriteAllBytes(urlToPdfFile, urlToPdfBuffer);
// open the PDF document in the default PDF viewer
Android.Net.Uri uri = Android.Net.Uri.Parse("content://" + urlToPdfFile);
Intent intent = new Intent(Intent.ActionView, uri);
intent.SetDataAndType(uri, "application/pdf");
intent.SetFlags(ActivityFlags.NewTask | ActivityFlags.GrantReadUriPermission);
this.ApplicationContext.StartActivity(intent);
To convert in your Xamarin application for macOS a HTML string to a PDF document in a memory buffer, save it to a file and open that file a in PDF viewer you can use the C# code below.
// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);
// convert a HTML string to a memory buffer
byte[] htmlToPdfBuffer = converter.ConvertHtml("<b>Hello World</b> from EVO PDF !", null);
// write the memory buffer to a PDF file
string htmlToPdfFile = "HtmlToMemory.pdf";
System.IO.File.WriteAllBytes(htmlToPdfFile, htmlToPdfBuffer);
// open the PDF document in the default PDF viewer
System.Diagnostics.Process.Start (htmlToPdfFile);
To convert in your Xamarin application for macOS an URL to a PDF document in a memory buffer, save it to a file and open that file in a PDF viewer you can use the C# code below.
// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);
// convert an URL to a memory buffer
string htmlPageURL = "http://www.evopdf.com";
byte[] urlToPdfBuffer = converter.ConvertUrl(htmlPageURL);
// write the memory buffer to a PDF file
string urlToPdfFile = "UrlToMemory.pdf";
System.IO.File.WriteAllBytes(urlToPdfFile, urlToPdfBuffer);
// open the PDF document in the default PDF viewer
System.Diagnostics.Process.Start (urlToPdfFile);
Free Trial
This package references the EVO PDF Client for .NET library in the demo projects for Xamarin.
EVO PDF Client for .NET includes the HTML to PDF component besides other components under the EvoPdfClient namespace and it is intended to replace the EVO HTML to PDF Client for .NET package.
The package contains the product binaries, demo Visual Studio projects with full C# code for HTML to PDF in Xamarin, the library documentation in CHM format.
You can evaluate the library for free as long as it is needed to ensure that the solution fits your application needs.
Licensing
The EVO PDF Software licenses are perpetual which means they never expire for a version of the product and include free maintenance for the first year. You can find more details about licensing in http://www.evopdf.com/buy.aspx page of the website.
The same license keys for EVO PDF software works both with regular libraries for .NET and with EVO PDF Client for .NET. For example, a license key for EVO PDF Toolkit works with all components from client library, while a license for HTML to PDF Converter will work only with this component of the client library.
Support
For technical and sales questions or for general inquiries about our software and company you can contact us using the email addresses from http://www.evopdf.com/contact.aspx page of the website.