Class HTML2PDF
<p>
'pdftron.PDF.HTML2PDF' is an optional PDFNet Add-On utility class that can be used to convert HTML web pages into PDF documents by using an external module (html2pdf).
The html2pdf modules can be downloaded from http: www.pdftron.com/pdfnet/downloads.html.
Users can convert HTML pages to PDF using the following operations:
- Simple one line static method to convert a single web page to PDF.
- Convert HTML pages from URL or string, plus optional table of contents, in user defined order.
- Optionally configure settings for proxy, images, java script, and more for each HTML page.
- Optionally configure the PDF output, including page size, margins, orientation, and more.
- Optionally add table of contents, including setting the depth and appearance.
using System;
using System.IO;
using pdftron;
using pdftron.Common;
using pdftron.SDF;
using pdftron.PDF;
using (PDFDoc doc = new PDFDoc())
{
if ( HTML2PDF.Convert(doc, "http://www.gutenberg.org/wiki/Main_Page") )
doc.Save(outputFile, SDFDoc.SaveOptions.e_linearized);
}
The following code demonstrates how to convert multiple web pages into one pdf, including any images and the background, but with lowered image quality to save space.
using System;
using System.IO;
using pdftron;
using pdftron.Common;
using pdftron.SDF;
using pdftron.PDF;
using (PDFDoc doc = new PDFDoc())
{
HTML2PDF converter = new HTML2PDF();
converter.SetImageQuality(25);
HTML2PDF.WebPageSettings settings = new HTML2PDF.WebPageSettings();
settings.SetPrintBackground(false);
converter.InsertFromURL("http://www.gutenberg.org/wiki/Main_Page", settings);
if ( HTML2PDF.Convert(doc, "http://en.wikipedia.org/wiki/Canada") )
doc.Save(outputFile, SDFDoc.SaveOptions.e_linearized);
}
Implements
Inherited Members
Namespace: pdftron.PDF
Assembly: PDFNet.dll
Syntax
public class HTML2PDF : IDisposable
Constructors
HTML2PDF()
Default constructor.
Declaration
public HTML2PDF()
Methods
AddCookie(string, string)
Add cookie to the HTTP Headers when converting via a URL.
Declaration
public void AddCookie(string name, string value)
Parameters
Type | Name | Description |
---|---|---|
string | name | the name of the cookie |
string | value | the value of the cookie |
Convert(PDFDoc)
Declaration
public bool Convert(PDFDoc doc)
Parameters
Type | Name | Description |
---|---|---|
PDFDoc | doc |
Returns
Type | Description |
---|---|
bool |
Convert(PDFDoc, string)
Declaration
public static bool Convert(PDFDoc doc, string url)
Parameters
Type | Name | Description |
---|---|---|
PDFDoc | doc | |
string | url |
Returns
Type | Description |
---|---|
bool |
Convert(PDFDoc, string, WebPageSettings)
Declaration
public static bool Convert(PDFDoc doc, string url, HTML2PDF.WebPageSettings settings)
Parameters
Type | Name | Description |
---|---|---|
PDFDoc | doc | |
string | url | |
HTML2PDF.WebPageSettings | settings |
Returns
Type | Description |
---|---|
bool |
Dispose()
Releases all resources used by the HTML2PDF
Declaration
public override sealed void Dispose()
Dispose(bool)
Declaration
[HandleProcessCorruptedStateExceptions]
protected virtual void Dispose(bool A_0)
Parameters
Type | Name | Description |
---|---|---|
bool | A_0 |
DumpOutline(string)
Save outline to a xml file.
Declaration
public void DumpOutline(string xml_file)
Parameters
Type | Name | Description |
---|---|---|
string | xml_file | Path of where xml data representing outline of produced PDF should be saved to. |
Remarks
This option is deprecated in the latest HTML2PDF module and may have no effect.
~HTML2PDF()
Declaration
protected ~HTML2PDF()
GetHTTPErrorCode()
Return the largest HTTP error code encountered during conversion
Declaration
public int GetHTTPErrorCode()
Returns
Type | Description |
---|---|
int | the largest HTTP code greater then or equal to 300 encountered during loading of any of the supplied objects, if no such error code is found 0 is returned. |
Remarks
This function will only return a useful result after Convert has been called. This option is deprecated in the latest HTML2PDF module and may have no effect.
GetLog()
Get results of conversion, including errors and warnings, in human readable form.
Declaration
public string GetLog()
Returns
Type | Description |
---|---|
string | String containing results of conversion. |
InsertFromHtmlString(string)
Convert HTML encoded in string.
Declaration
public void InsertFromHtmlString(string html)
Parameters
Type | Name | Description |
---|---|---|
string | html | String containing HTML code. |
InsertFromHtmlString(string, WebPageSettings)
Declaration
public void InsertFromHtmlString(string html, HTML2PDF.WebPageSettings settings)
Parameters
Type | Name | Description |
---|---|---|
string | html | |
HTML2PDF.WebPageSettings | settings |
InsertFromURL(string)
Add a web page to be converted. A single URL typically results in many PDF pages.
HTML page, or relative path to local HTML pageDeclaration
public void InsertFromURL(string url)
Parameters
Type | Name | Description |
---|---|---|
string | url |
InsertFromURL(string, WebPageSettings)
Declaration
public void InsertFromURL(string url, HTML2PDF.WebPageSettings settings)
Parameters
Type | Name | Description |
---|---|---|
string | url | |
HTML2PDF.WebPageSettings | settings |
InsertTOC()
Add a table of contents to the produced PDF.
Declaration
public void InsertTOC()
InsertTOC(TOCSettings)
Declaration
public void InsertTOC(HTML2PDF.TOCSettings settings)
Parameters
Type | Name | Description |
---|---|---|
HTML2PDF.TOCSettings | settings |
IsModuleAvailable()
Find out whether the HTML2PDF module is available (and licensed).
Declaration
public static bool IsModuleAvailable()
Returns
Type | Description |
---|---|
bool | returns true if HTML2PDF operations can be performed |
SetCompatibilityMode(bool)
Provides the ability to run HTML to PDF conversion to run in compatibility mode, which runs with altered graphics options and does not create a dedicated render process. This option may be somewhat slower than the default mode. However, it may be required on environments with limited platform dependencies, such as AWS Lambda.
Declaration
public void SetCompatibilityMode(bool compatibility)
Parameters
Type | Name | Description |
---|---|---|
bool | compatibility | If true, compatibility mode is enabled. |
SetCookieJar(string)
Path of file used for loading and storing cookies.
Declaration
public void SetCookieJar(string path)
Parameters
Type | Name | Description |
---|---|---|
string | path | Path to file used for loading and storing cookies. |
Remarks
This option is deprecated in the latest HTML2PDF module and may have no effect.
SetCustomHeader(string, string)
Add a custom HTTP header specified by name and value.
Declaration
public void SetCustomHeader(string name, string value)
Parameters
Type | Name | Description |
---|---|---|
string | name | the name of the custom header |
string | value | the value of the custom header |
SetDPI(int)
Change the DPI explicitly for the output PDF.
Declaration
public void SetDPI(int dpi)
Parameters
Type | Name | Description |
---|---|---|
int | dpi | Dots per inch, e.g. 80.
|
SetFooter(string)
Set footer of generated PDF.
Declaration
public void SetFooter(string footer)
Parameters
Type | Name | Description |
---|---|---|
string | footer | HTML string to be used as the footer |
SetHeader(string)
Set header of generated PDF.
Declaration
public void SetHeader(string header)
Parameters
Type | Name | Description |
---|---|---|
string | header | HTML string to be used as the header |
SetImageDPI(int)
Maximum DPI to use for images in the generated PDF.
Declaration
public void SetImageDPI(int dpi)
Parameters
Type | Name | Description |
---|---|---|
int | dpi | Maximum dpi of images in produced PDF, e.g. 80. |
SetImageQuality(int)
JPEG compression factor to use when generating PDF.
Declaration
public void SetImageQuality(int quality)
Parameters
Type | Name | Description |
---|---|---|
int | quality | Compression factor, e.g. 92. |
Remarks
This option is deprecated in the latest HTML2PDF module and may have no effect.
SetLandscape(bool)
Set page orientation for output PDF.
Declaration
public void SetLandscape(bool enable)
Parameters
Type | Name | Description |
---|---|---|
bool | enable | If true generated PDF pages will be orientated to landscape, otherwise orientation will be portrait. |
SetLogFilePath(string)
Sets the location of the log file to be used during conversion.
Declaration
public void SetLogFilePath(string path)
Parameters
Type | Name | Description |
---|---|---|
string | path | Full path and file name of file to log to. |
SetMargins(string, string, string, string)
Set margins of generated PDF.
Declaration
public void SetMargins(string top, string bottom, string left, string right)
Parameters
Type | Name | Description |
---|---|---|
string | top | Size of the top margin, e.g. "2cm". |
string | bottom | Size of the bottom margin, e.g. "2cm". |
string | left | Size of the left margin, e.g. "2cm". |
string | right | Size of the right margin, e.g. "2cm". |
Remarks
Supported units are mm, cm, m, in, pica(pc), pixel(px) and point(pt).
SetModulePath(string)
Set the first location that PDFNet will look for the html2pdf module.
Declaration
public static void SetModulePath(string path)
Parameters
Type | Name | Description |
---|---|---|
string | path | A folder or file path. If non-empty, PDFNet will only look in path for the html2pdf module, otherwise it will search in the default locations for the module. |
SetOutline(bool, int)
Add bookmarks to the PDF.
Declaration
public void SetOutline(bool enable, int depth)
Parameters
Type | Name | Description |
---|---|---|
bool | enable | If true bookmarks will be generated for the produced PDF. |
int | depth | Maximum depth of the outline (e.g. 4). |
Remarks
This option is deprecated in the latest HTML2PDF module and may have no effect.
SetPDFCompression(bool)
Use lossless compression to create PDF.
Declaration
public void SetPDFCompression(bool enable)
Parameters
Type | Name | Description |
---|---|---|
bool | enable | If true loss less compression will be used to create PDF. |
Remarks
This option is deprecated in the latest HTML2PDF module and may have no effect.
SetPaperSize(string, string)
Manually set the paper dimensions of the produced PDF.
Declaration
public void SetPaperSize(string width, string height)
Parameters
Type | Name | Description |
---|---|---|
string | width | Width of the page, e.g. "4cm". |
string | height | Height of the page, eg. "12in". |
Remarks
Supported units are mm, cm, m, in, pica(pc), pixel(px) and point(pt).
SetPaperSize(PaperSize)
Set paper size of output PDF
Declaration
public void SetPaperSize(PrinterMode.PaperSize size)
Parameters
Type | Name | Description |
---|---|---|
PrinterMode.PaperSize | size | Paper size to use for produced PDF. |
SetQuiet(bool)
Display HTML to PDF conversion progress, warnings, and errors, to stdout.
Declaration
public void SetQuiet(bool quiet)
Parameters
Type | Name | Description |
---|---|---|
bool | quiet | If false, progress information is sent to stdout during conversion. |
Remarks
You can get the final results using GetLog.