 |
|
Winnovative HTML to PDF Converter for UWP
|
|
Winnovative HTML to PDF Converter for Universal Windows Platform can be integrated
in any Windows Store application to convert URLs, HTML strings and streams to a PDF document, to a raster image or to a SVG vector image.
The converter offers full support for HTML tags, HTML5 with CSS3, SVG and Web Fonts, page breaks control, media type rules,
repeating HTML table header and footer, hierarchical bookmarks, tables of contents, fillable PDF forms,
HTML with page numbering in header and footer.
The library was designed and tested to work reliably in multithreaded environments
and to completely release all the resources used during conversion after each conversion.
This makes it suitable for usage in applications running a long period of time without interruption.
The software package you can download from our website contains demo applications to convert URLs and HTML strings
to PDF.
The licensing model is simple and you can purchase a license online. A purchased license never expires, is royalties free and it includes
free technical support and software update for 1 year from purchase date. |
|
|
|
|
|
|
|
 |
|
Software Download |
|
|
Winnovative HTML to PDF Converter for UWP is distributed in a Zip archive. in a Zip archive. You can follow the link below to download the software.
The Zip archive contains the portable client library for .NET, the HTML to PDF Server for Windows and for Azure and demo applications for
Windows Runtime.
|
|
|
|
Winnovative HTML to PDF Client Library for Universal Windows Platform is also available as a
NuGet package that can be referenced
directly from your Visual Studio projects. NuGet is a Visual Studio extension that makes it easy to add, remove,
and update libraries and tools in Visual Studio projects that use the .NET Framework.
|
|
 |
|
Software Installation |
|
|
In order to use the Winnovative HTML to PDF Converter for Universal Windows Platform you first have to install the Winnovative HTML to PDF Server.
The server was built on .NET library to extend its capabilities to other platforms and languages.
The portable client library that you link in your Windows applications will connect to the server to convert HTML to PDF, to Image or to SVG.
Winnovative HTML to PDF Converter Server can run either in a Windows Service on a Windows machine or in an Azure Cloud.
You can find detailed installation and uninstallation instructions in the Readme.txt file from the root of the
downloaded package.
|
|
 |
|
UWP Code Sample |
|
|
The Winnovative HTML to PDF Converter for UWP API allows you to convert a HTML document to PDF in just a few lines a code. The programming interface is
also very rich and allows you customize the generated PDF document in various ways. The code below is copied from the demo for
HTML to PDF Converter that you can find the in the Demo folder of the software Zip package.
|
private async void buttonConvertUrlToPdf_Click(object sender, RoutedEventArgs e)
{
// If another conversion is in progress then ignore current request
bool ignoreRequest = false;
lock(pendingConversionSync)
{
if (pendingConversion)
ignoreRequest = true;
else
{
msgUrlToPdfInProgress.Visibility = Windows.UI.Xaml.Visibility.Visible;
pendingConversion = true;
}
}
if (ignoreRequest)
return;
try
{
String serverIP = textBoxServerIP.Text;
uint port = uint.Parse(textBoxServerPort.Text);
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter(serverIP, port);
// set license key
htmlToPdfConverter.LicenseKey = "cP7v/+7/7//u7fHv/+zu8e7t8ebm5ub/7Q==";
// set service password if necessary
if (textBoxServicePassword.Text.Length > 0)
htmlToPdfConverter.ServicePassword = textBoxServicePassword.Text;
// set HTML viewer width
htmlToPdfConverter.HtmlViewerWidth = int.Parse(textBoxHtmlViewerWidth.Text);
// set HTML viewer height if necessary
if (textBoxHtmlViewerHeight.Text.Length > 0)
htmlToPdfConverter.HtmlViewerHeight = int.Parse(textBoxHtmlViewerHeight.Text);
// set navigation timeout
htmlToPdfConverter.NavigationTimeout = int.Parse(textBoxHtmlViewerWidth.Text);
// set conversion delay if necessary
if (textBoxConversionDelay.Text.Length > 0)
htmlToPdfConverter.ConversionDelay = int.Parse(textBoxConversionDelay.Text);
// set PDF page size
htmlToPdfConverter.PdfDocumentOptions.PdfPageSize = SelectedPdfPageSize();
// set PDF page orientation
htmlToPdfConverter.PdfDocumentOptions.PdfPageOrientation = SelectedPdfPageOrientation();
// set margins
htmlToPdfConverter.PdfDocumentOptions.LeftMargin = int.Parse(textBoxLeftMargin.Text);
htmlToPdfConverter.PdfDocumentOptions.RightMargin = int.Parse(textBoxRightMargin.Text);
htmlToPdfConverter.PdfDocumentOptions.TopMargin = int.Parse(textBoxTopMargin.Text);
htmlToPdfConverter.PdfDocumentOptions.BottomMargin = int.Parse(textBoxBottomMargin.Text);
// add header
if (checkBoxAddHeader.IsChecked != null && (bool)checkBoxAddHeader.IsChecked)
{
htmlToPdfConverter.PdfDocumentOptions.ShowHeader = true;
DrawHeader(htmlToPdfConverter, true);
}
// add footer
if (checkBoxAddFooter.IsChecked != null && (bool)checkBoxAddFooter.IsChecked)
{
htmlToPdfConverter.PdfDocumentOptions.ShowFooter = true;
DrawFooter(htmlToPdfConverter, true, true);
}
string urlToConvert = textBoxUrl.Text;
string errorMessage = null;
// Convert the HTML page from give URL to PDF in a buffer
byte[] pdfBytes = await Task.Run<byte[]>(() =>
{
byte[] resultBytes = null;
try
{
resultBytes = htmlToPdfConverter.ConvertUrl(urlToConvert);
}
catch (Exception ex)
{
errorMessage = String.Format("Conversion failed. {0}", ex.Message);
return null;
}
return resultBytes;
});
if (pdfBytes == null)
{
MessageDialog errorMessageDialog = new MessageDialog(errorMessage, "Conversion failed");
await errorMessageDialog.ShowAsync();
return;
}
// Save the PDF in a file
Windows.Storage.StorageFolder installedLocation = Windows.Storage.ApplicationData.Current.LocalFolder;
StorageFile outStorageFile = installedLocation.CreateFileAsync("WnvHtmlToPdf.pdf", CreationCollisionOption.ReplaceExisting).AsTask().Result;
FileIO.WriteBytesAsync(outStorageFile, pdfBytes).AsTask().Wait();
// Open the file in a PDF viewer
await Windows.System.Launcher.LaunchFileAsync(outStorageFile);
}
finally
{
lock (pendingConversionSync)
{
msgUrlToPdfInProgress.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
pendingConversion = false;
}
}
}
|