Assemblies Required
- Syncfusion.Compression.Base.dll
- Syncfusion.HtmlConverter.Base.dll
- Syncfusion.Pdf.Base.dll
- System.Windows.Forms.dll
- Microsoft.mshtml.dll
|
You have to put these assemblies to bin folder and make sure they are used for 32 bit.
HtmlToPDF.aspx
<%@ Page Language="C#" AspCompat="true" AutoEventWireup="true" CodeFile="HtmlToPDF.aspx.cs" Inherits="HtmlToPDF" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>HTMLtoPDF Demo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h4>HTMLtoPDF Conversion Demo</h4>
</div>
<div>
<asp:Button ID="Button1" runat="server" Text="PDF" onclick="Button1_Click" />
</div>
</form>
</body>
</html>
HtmlToPDF.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.HtmlConverter;
using System.Drawing;
using System.Drawing.Imaging;
public partial class HtmlToPDF : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
StreamReader reader = new StreamReader(Server.MapPath(@"App_Data\Template.html"));
string htmlContent = reader.ReadToEnd();
//Create a new pdf document
PdfDocument pdf = new PdfDocument();
//Adds a new pdf page.
PdfPage page = pdf.Pages.Add();
PdfUnitConvertor converter = new PdfUnitConvertor();
float width = converter.ConvertToPixels(page.GetClientSize().Width, PdfGraphicsUnit.Point);
using (HtmlConverter htmlconverter = new HtmlConverter())
{
//Renders html from the string to image.
PdfMetafile mf = new PdfMetafile(htmlconverter.FromString(htmlContent, Path.GetFullPath(@"..\..\Template.html"), ImageType.Metafile, (int)width, -1, AspectRatio.KeepWidth) as Metafile);
mf.Quality = 100;
PdfMetafileLayoutFormat format = new PdfMetafileLayoutFormat();
format.Break = PdfLayoutBreakType.FitPage;
format.Layout = PdfLayoutType.Paginate;
//Draws the image.
mf.Draw(page, new PointF(0, 0), format);
}
pdf.Save("DoctoPDF.pdf", Response, HttpReadType.Open);
}
}
Article ID: 1930, Created: September 30, 2017 at 2:25 AM, Modified: September 30, 2017 at 2:25 AM