/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="html">the HTML as a String</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String html, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); HtmlConverter.ConvertToPdf(html, new FileStream(dest, FileMode.Create), properties); }
public FileStream Create() { string filePath = DEST + "Receipt_" + Date.ToString("yyyyMMddHHmmss") + ".pdf"; ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(BASEURI); var file = new FileStream(SRC, FileMode.Open); string fileContents; using (StreamReader reader = new StreamReader(file)) { fileContents = reader.ReadToEnd(); } fileContents = fileContents.Replace("{{fullReceiptNumber}}", PointOfSaleNumber + "-" + ReceiptNumber); fileContents = fileContents.Replace("{{date}}", Date.ToString("dd/MM/yyyy")); fileContents = fileContents.Replace("{{customerFullName}}", CustomerFullName); fileContents = fileContents.Replace("{{totalAmount}}", ReceiptConcepts.Sum(x => x.Amount).ToString()); fileContents = fileContents.Replace("{{concepts}}", GetConceptsRows()); HtmlConverter.ConvertToPdf(fileContents, new FileStream(filePath, FileMode.Create), properties); var finalFile = new FileStream(filePath, FileMode.Open); return(finalFile); }
public void ManipulatePdf(string htmlSource, string pdfDest, string resourceLoc, PageSize pageSize, float screenWidth) { PdfWriter writer = new PdfWriter(pdfDest); PdfDocument pdfDoc = new PdfDocument(writer); // Set the result to be tagged pdfDoc.SetTagged(); pdfDoc.SetDefaultPageSize(pageSize); ConverterProperties converterProperties = new ConverterProperties(); // Set media device description details MediaDeviceDescription mediaDescription = new MediaDeviceDescription(MediaType.SCREEN); mediaDescription.SetWidth(screenWidth); converterProperties.SetMediaDeviceDescription(mediaDescription); FontProvider fp = new DefaultFontProvider(); // Register external font directory fp.AddDirectory(resourceLoc); converterProperties.SetFontProvider(fp); // Base URI is required to resolve the path to source files converterProperties.SetBaseUri(resourceLoc); // Create acroforms from text and button input fields converterProperties.SetCreateAcroForm(true); HtmlConverter.ConvertToPdf(new FileStream(htmlSource, FileMode.Open, FileAccess.Read, FileShare.Read), pdfDoc, converterProperties); pdfDoc.Close(); }
public void ManipulatePdf(string HtmlContent, string basePath) { string FONTTABLEHEADER = basePath + @"fonts\Metric-Bold.otf"; string FONTTABLEGENERAL = basePath + @"fonts\Metric-Regular.otf"; string FONTPAGEHEADING = basePath + @"fonts\Indian Type Foundry - Zahrah Bold Italic.otf"; string HOMEPAGEHEADING = basePath + @"fonts\Indian Type Foundry - Zahrah Light.otf"; ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(basePath); FontProvider fontProvider = new DefaultFontProvider(false, false, false); FontProgram fontTableHeader = FontProgramFactory.CreateFont(FONTTABLEHEADER); FontProgram fontTableGeneral = FontProgramFactory.CreateFont(FONTTABLEGENERAL); FontProgram fontPageHeading = FontProgramFactory.CreateFont(FONTPAGEHEADING); FontProgram homePageHeading = FontProgramFactory.CreateFont(HOMEPAGEHEADING); fontProvider.AddFont(homePageHeading); fontProvider.AddFont(fontTableHeader); fontProvider.AddFont(fontTableGeneral); fontProvider.AddFont(fontPageHeading); properties.SetFontProvider(fontProvider); PdfDocument pdfDoc = new PdfDocument(new PdfWriter(basePath + @"Pdf\Test.pdf")); pdfDoc.SetDefaultPageSize(iText.Kernel.Geom.PageSize.LETTER.Rotate()); HtmlConverter.ConvertToPdf(HtmlContent, pdfDoc, properties); }
public FileContentResult Imprimir(string registros) { string html = ""; if (registros == "TabelaAluno") { html = RenderRazorViewToString("TabelaAluno", new AlunoDal().ObterTodos().ToList()); } if (registros == "TabelaCidade") { html = RenderRazorViewToString("TabelaCidade", new CidadeDal().ObterTodos().ToList()); } if (registros == "TabelaAlunoCidade") { html = RenderRazorViewToString("TabelaAlunoCidade", new CidadeDal().ObterTodos().ToList()); } var properties = new ConverterProperties(); var baseUrl = string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~")); properties.SetBaseUri(baseUrl); MediaDeviceDescription med = new MediaDeviceDescription(MediaType.ALL); med.SetOrientation("landscape"); properties.SetMediaDeviceDescription(med); using (var stream = new MemoryStream()) { HtmlConverter.ConvertToPdf(html, stream, properties); return(File(stream.ToArray(), "application/pdf")); } }
private void ExistingWebURL() { //Initialize PDF writer PdfWriter writer = new PdfWriter("wikipedia.pdf"); //Initialize PDF document PdfDocument pdf = new PdfDocument(writer); ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri("https://en.wikipedia.org/wiki/Portable_Document_Format"); Document document = HtmlConverter.ConvertToDocument(new FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties); Paragraph header = new Paragraph("HEADER") .SetTextAlignment(TextAlignment.CENTER) .SetFontSize(16); document.Add(header); for (int i = 1; i <= pdf.GetNumberOfPages(); i++) { Rectangle pageSize = pdf.GetPage(i).GetPageSize(); float x = pageSize.GetWidth() / 2; float y = pageSize.GetTop() - 20; document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0); } document.SetTopMargin(50); document.SetBottomMargin(50); document.Close(); }
private void Chart() { //Initialize PDF writer PdfWriter writer = new PdfWriter("chart.pdf"); //Initialize PDF document PdfDocument pdf = new PdfDocument(writer); ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri("https://bl.ocks.org/mbostock/4062006"); Document document = HtmlConverter.ConvertToDocument(new FileStream("Test_iText7_1.pdf", FileMode.Open), pdf, properties); Paragraph header = new Paragraph("HEADER") .SetTextAlignment(TextAlignment.CENTER) .SetFontSize(16); document.Add(header); for (int i = 1; i <= pdf.GetNumberOfPages(); i++) { Rectangle pageSize = pdf.GetPage(i).GetPageSize(); float x = pageSize.GetWidth() / 2; float y = pageSize.GetTop() - 20; document.ShowTextAligned(header, x, y, i, TextAlignment.LEFT, VerticalAlignment.BOTTOM, 0); } document.Close(); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="src">the path to the source HTML file</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String src, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); HtmlConverter.ConvertToPdf(new FileStream(src, FileMode.Open, FileAccess.Read), new FileStream(dest, FileMode.Create), properties); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="src">the path to the source HTML file</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String src, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); PdfWriter writer = new PdfWriter(dest, new WriterProperties().SetFullCompressionMode(true)); HtmlConverter.ConvertToPdf(new FileStream(src, FileMode.Open, FileAccess.Read), writer, properties); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="html">the HTML file as a byte array</param> /// <param name="baseUri">the base URI</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(byte[] html, String baseUri, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); OutlineHandler outlineHandler = OutlineHandler.CreateStandardHandler(); properties.SetOutlineHandler(outlineHandler); HtmlConverter.ConvertToPdf(new MemoryStream(html), new FileStream(dest, FileMode.Create), properties); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="src">the path to the source HTML file</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String src, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); MediaDeviceDescription mediaDeviceDescription = new MediaDeviceDescription(MediaType.PRINT); properties.SetMediaDeviceDescription(mediaDeviceDescription); HtmlConverter.ConvertToPdf(new FileStream(src, FileMode.Open, FileAccess.Read), new FileStream(dest, FileMode.Create), properties); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="src">the path to the source HTML file</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String src, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); pdf.SetTagged(); HtmlConverter.ConvertToPdf(new FileStream(src, FileMode.Open, FileAccess.Read), pdf, properties); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="html">the HTML file as a byte array</param> /// <param name="baseUri">the base URI</param> /// <param name="dest">the path to the resulting PDF</param> /// <param name="intent">the path to the output intent</param> public void CreatePdf(byte[] html, String baseUri, String dest, String intent) { PdfWriter writer = new PdfWriter(dest); PdfADocument pdf = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1", new FileStream(intent, FileMode.Open, FileAccess.Read))); ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); HtmlConverter.ConvertToPdf(new MemoryStream(html), pdf, properties); }
internal static ConverterProperties InitConverterProperties() { ConverterProperties converterProperties = new ConverterProperties(); converterProperties.SetBaseUri(SOURCE_FOLDER); FontProvider fontProvider = new FontProvider(); fontProvider.AddDirectory(RESOURCES); fontProvider.AddStandardPdfFonts(); converterProperties.SetFontProvider(fontProvider); return(converterProperties); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="html">the HTML file as a byte array</param> /// <param name="baseUri">the base URI</param> /// <param name="stationery">the path to a single-page PDF file that will act as stationery</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(byte[] html, String baseUri, String stationery, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); IEventHandler handler = new Background(pdf, stationery); pdf.AddEventHandler(PdfDocumentEvent.START_PAGE, handler); HtmlConverter.ConvertToPdf(new MemoryStream(html), pdf, properties); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="html">the HTML file as a byte array</param> /// <param name="baseUri">the base URI</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(byte[] html, String baseUri, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); OutlineHandler outlineHandler = new OutlineHandler(); outlineHandler.PutTagPriorityMapping("h1", 1); outlineHandler.PutTagPriorityMapping("p", 2); properties.SetOutlineHandler(outlineHandler); HtmlConverter.ConvertToPdf(new MemoryStream(html), new FileStream(dest, FileMode.Create), properties); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="src">the path to the source HTML file</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String src, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); Document document = HtmlConverter.ConvertToDocument(new FileStream(src, FileMode.Open, FileAccess.Read), pdf, properties); document.Add(new Paragraph("Goodbye!")); document.Close(); }
protected override void SaveDocument(SwaggerPdfDocumentModel swaggerDocumentModel) { var documentString = _document.GetDocumentString(); var pdfDocument = new PdfDocument(new PdfWriter(swaggerDocumentModel.PdfDocumentPath)); var properties = new ConverterProperties(); if (!string.IsNullOrEmpty(swaggerDocumentModel.WelcomePageImage)) { var imageFile = new FileInfo(swaggerDocumentModel.WelcomePageImage); properties.SetBaseUri(imageFile.DirectoryName + "\\"); } HtmlConverter.ConvertToDocument(documentString, pdfDocument, properties); pdfDocument.Close(); }
public void CreatePdf(BaseRequest request) { string basePath = Environment.CurrentDirectory; string htmlPath = Path.Combine(basePath, "html", "input.html"); string pdfPath = Path.Combine(basePath, "pdf", "output" + $"{DateTime.Now.ToString("yy-MM-dd_hhmmss_ffff")}" + ".pdf"); using (FileStream htmlSource = File.Open(htmlPath, FileMode.Open)) using (FileStream pdfDest = File.Open(pdfPath, FileMode.OpenOrCreate)) { ConverterProperties converterProperties = new ConverterProperties(); string assertPath = Path.Combine(basePath, "html"); converterProperties.SetBaseUri(assertPath); HtmlConverter.ConvertToPdf(htmlSource, pdfDest, converterProperties); } }
public void createPdf(String src, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(css); //FontProvider dfp = new DefaultFontProvider(); CssStyleCollection style = new Panel().Style; MediaDeviceDescription mediaDeviceDescription = new MediaDeviceDescription(MediaType.PRINT); properties.SetMediaDeviceDescription(mediaDeviceDescription); HtmlConverter.ConvertToPdf(new FileStream(src, FileMode.Open), new FileStream(dest, FileMode.Create), properties); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="xml">a byte array with XML data</param> /// <param name="html">the HTML file as a byte array</param> /// <param name="baseUri">the base URI</param> /// <param name="dest">the path to the resulting PDF</param> /// <param name="intent">a path to the output intent</param> public void CreatePdf(byte[] xml, byte[] html, String baseUri, String dest, String intent) { PdfWriter writer = new PdfWriter(dest); PdfADocument pdf = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_3A, new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1", new FileStream(intent, FileMode.Open, FileAccess.Read))); pdf.SetTagged(); pdf.AddFileAttachment("Movie info", PdfFileSpec.CreateEmbeddedFileSpec(pdf, xml, "Movie info", "movies.xml", PdfName.ApplicationXml, new PdfDictionary(), PdfName.Data)); ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); HtmlConverter.ConvertToPdf(new MemoryStream(html), pdf, properties); }
public void ManipulatePdf(string src, string dest) { WriterProperties writerProperties = new WriterProperties(); writerProperties.AddXmpMetadata(); PdfWriter pdfWriter = new PdfWriter(dest, writerProperties); PdfDocument pdfDoc = new PdfDocument(pdfWriter); pdfDoc.GetCatalog().SetLang(new PdfString("en-US")); pdfDoc.SetTagged(); pdfDoc.GetCatalog().SetViewerPreferences(new PdfViewerPreferences().SetDisplayDocTitle(true)); PdfDocumentInfo pdfMetaData = pdfDoc.GetDocumentInfo(); pdfMetaData.SetAuthor("Samuel Huylebroeck"); pdfMetaData.AddCreationDate(); pdfMetaData.GetProducer(); pdfMetaData.SetCreator("iText Software"); pdfMetaData.SetKeywords("example, accessibility"); pdfMetaData.SetSubject("PDF accessibility"); // Title is derived from html // pdf conversion ConverterProperties props = new ConverterProperties(); FontProvider fontProvider = new FontProvider(); fontProvider.AddStandardPdfFonts(); fontProvider.AddDirectory(SRC); // The noto-nashk font file (.ttf extension) is placed in the resources props.SetFontProvider(fontProvider); // Base URI is required to resolve the path to source files props.SetBaseUri(SRC); // Setup custom tagworker factory for better tagging of headers DefaultTagWorkerFactory tagWorkerFactory = new AccessibilityTagWorkerFactory(); props.SetTagWorkerFactory(tagWorkerFactory); HtmlConverter.ConvertToPdf(new FileStream(src, FileMode.Open), pdfDoc, props); pdfDoc.Close(); }
public virtual void InlineBlockInsideTableCellTest() { // IO setup PdfWriter writer = new PdfWriter(new FileInfo(destinationFolder + "inlineBlockInsideTableCellTest.pdf")); PdfDocument pdfDocument = new PdfDocument(writer); pdfDocument.SetDefaultPageSize(new PageSize(1000f, 1450f)); // properties ConverterProperties props = new ConverterProperties(); props.SetBaseUri(sourceFolder); HtmlConverter.ConvertToPdf(new FileStream(sourceFolder + "inlineBlockInsideTableCellTest.html", FileMode.Open , FileAccess.Read), pdfDocument, props); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(destinationFolder + "inlineBlockInsideTableCellTest.pdf" , sourceFolder + "cmp_inlineBlockInsideTableCell.pdf", destinationFolder, "diffinlineBlockInsideTableCellTest_" )); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="src">the path to the source HTML file</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String src, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); IList <IElement> elements = HtmlConverter.ConvertToElements( new FileStream(src, FileMode.Open, FileAccess.Read), properties); PdfDocument pdf = new PdfDocument(new PdfWriter(dest)); Document document = new Document(pdf); foreach (IElement element in elements) { document.Add(new Paragraph(element.GetType().FullName)); document.Add((IBlockElement)element); } document.Close(); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="src">the path to the source HTML file</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String src, String dest) { PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); pdf.SetTagged(); PageSize pageSize = new PageSize(440, 2000); pdf.SetDefaultPageSize(pageSize); ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); MediaDeviceDescription mediaDeviceDescription = new MediaDeviceDescription(MediaType.SCREEN); mediaDeviceDescription.SetWidth(pageSize.GetWidth()); properties.SetMediaDeviceDescription(mediaDeviceDescription); HtmlConverter.ConvertToPdf(new FileStream(src, FileMode.Open, FileAccess.Read), pdf, properties); }
public static void Create(string dest) { PdfWriter pdfWriter = new PdfWriter(dest); PdfDocument pdfDoc = new PdfDocument(pdfWriter); // pdf conversion ConverterProperties props = new ConverterProperties(); FontProvider fp = new FontProvider(); fp.AddStandardPdfFonts(); fp.AddDirectory(@"fonts");//The noto-nashk font file (.ttf extension) is placed in the resources props.SetFontProvider(fp); props.SetBaseUri(@"fonts"); //Setup custom tagworker factory for better tagging of headers HtmlConverter.ConvertToPdf(@"<h1>Hello</h1><p>world</p>", pdfDoc, props); pdfDoc.Close(); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="html">the HTML file as a byte array</param> /// <param name="baseUri">the base URI</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(byte[] html, String baseUri, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); pdf.SetDefaultPageSize(new PageSize(595, 14400)); Document document = HtmlConverter.ConvertToDocument(new MemoryStream(html), pdf, properties); EndPosition endPosition = new EndPosition(); LineSeparator separator = new LineSeparator(endPosition); document.Add(separator); document.GetRenderer().Close(); PdfPage page = pdf.GetPage(1); float y = endPosition.GetY() - 36; page.SetMediaBox(new Rectangle(0, y, 595, 14400 - y)); document.Close(); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="src">an array with the paths to different source HTML files</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String[] src, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); PdfMerger merger = new PdfMerger(pdf); foreach (String html in src) { MemoryStream baos = new MemoryStream(); PdfDocument temp = new PdfDocument(new PdfWriter(baos)); HtmlConverter.ConvertToPdf(new FileStream(html, FileMode.Open, FileAccess.Read), temp, properties); temp = new PdfDocument(new PdfReader(new MemoryStream(baos.ToArray()))); merger.Merge(temp, 1, temp.GetNumberOfPages()); temp.Close(); } pdf.Close(); }
/// <summary> /// Creates the PDF file. /// </summary> /// <param name="baseUri">the base URI</param> /// <param name="src">an array with the paths to different source HTML files</param> /// <param name="dest">the path to the resulting PDF</param> public void CreatePdf(String baseUri, String[] src, String dest) { ConverterProperties properties = new ConverterProperties(); properties.SetBaseUri(baseUri); PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); Document document = new Document(pdf); foreach (String html in src) { IList <IElement> elements = HtmlConverter.ConvertToElements( new FileStream(html, FileMode.Open, FileAccess.Read), properties); foreach (IElement element in elements) { document.Add((IBlockElement)element); } } document.Close(); }
public void ProcessRequest(HttpContext context) { string[] FONTS = { // msjh.ttc[0], the first one ttf in msjh.ttc. @"C:\Windows\Fonts\msjh.ttc,0", }; // If the POST body has uncoded symbols,such as "<" and ">", // it will be judged as potentially dangerous. And put the POST // body to Request.Unvalidated.Form. String HTML = context.Request.Unvalidated.Form["content"] == null ? context.Request.Form["content"]: context.Request.Unvalidated.Form["content"]; // Check whether the HTML has content. if (HTML != null && HTML != "") { // Define the date as the pdf file name. String strDate = DateTime.Now.ToString("yyyyMMddHHmmss"); String filename = "D:\\" + strDate + ".pdf"; ConverterProperties properties = new ConverterProperties(); // Deal with font provider. FontProvider fontProvider = new DefaultFontProvider(false, false, false); foreach (string font in FONTS) { FontProgram fontProgram = FontProgramFactory.CreateFont(font); fontProvider.AddFont(fontProgram); } // Set font type properties.SetFontProvider(fontProvider); // Set the base uri (that is, the root) of the website. // HttpContext.Current.Server.MapPath("~") : the root of website. properties.SetBaseUri(HttpContext.Current.Server.MapPath("~")); // Convert html to pdf. HtmlConverter.ConvertToPdf(WebUtility.HtmlDecode(HTML), new FileStream(filename, FileMode.Create), properties); Download(filename, strDate + ".pdf"); } }