Chuyển đến nội dung chính

How to convert html to pdf using c#?

     In this section we are going to see how to convert the pure html and css code to pdf using itextsharp and itexsharp.xmlworker dll's.


Download itextsharp.xmlworker.dll
Downlaod itextsharp.dll

Note:
     You should use the same version of the itextsharp.dll and itextsharp.xmlworker.dl

If you not use the same version you will see like the following error.
 Server Error in '/' Application.

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1705: Assembly 'itextsharp.xmlworker, Version=5.5.8.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca' uses 'itextsharp, Version=5.5.8.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca' which has a higher version than referenced assembly 'itextsharp, Version=5.5.0.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca'

Source Error:


[No relevant source lines]

Source File:    Line: 0


itextsharp.xmlworker and itextsharp error higher version
Client Side code:

<asp:HiddenField runat="server" ID="selectedhtml" />

<asp:ImageButton ID="lnkPDF" ImageUrl="~/App_Themes/Blue/images/adobe.jpg" ToolTip="Export to PDF"
                        runat="server" OnClick="lnkPDF_Clicked"></asp:ImageButton>&nbsp;&nbsp;&nbsp;

<div id="testdiv">
<div id="tdiv1">
<img src="sample.jpg" />
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<tr>
<td>Merbin</td>
<td>29</td>
</tr>
<tr>
<td>Franklin</td>
<td>30</td>
</tr>
<tr>
<td>Justus</td>
<td>45</td>
</tr>
</table>
</div>
</div>


 <script>

     var btnobj = document.getElementById("<%=lnkPDF.ClientID%>");
     btnobj.addEventListener("click", myfun);

     function myfun() {

             document.getElementById('<%=selectedhtml.ClientID%>').value = document.getElementById('testdiv').innerHTML.replace(/(<img[^>]+)/g, "$1 /");

         }

</script>  


HTML code are converted into xhtml and after only it will process so we have some limitation eg) you should need to close the image tag and etc.
If you are get the innerHTML content the image close tag won't get you so you can replace the image close tag by using the following line.

document.getElementById('<%=selectedhtml.ClientID%>').value = document.getElementById('testdiv').innerHTML.replace(/(]+)/g, "$1 /");


Server Side Code:
protected void lnkPDF_Clicked(object sender, EventArgs e)
{

Document Doc;
Doc = new Document(PageSize.A4, 10f, 10f, 50f, 20f);

string filename = "PaySlip";
string outXml = selectedhtml.Value;
outXml = "<style>#tdiv1{background:red;color:white;}</style>" + outXml;
outXml = outXml.Replace("px", "");
outXml = outXml.Replace("<br>", "<br/>");

MemoryStream memStream = new MemoryStream();
TextReader xmlString = new StringReader(outXml);
using (Document document = new Document())
{
PdfWriter writer = PdfWriter.GetInstance(document, memStream);
document.Open();
byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(outXml);
MemoryStream ms = new MemoryStream(byteArray);
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, ms, System.Text.Encoding.UTF8);
document.Close();
}

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=" + filename + ".pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.BinaryWrite(memStream.ToArray());
Response.End();
Response.Flush();
}



No need to put the px in styles, so you can replace the px to "" value by using the following line.
outXml = outXml.Replace("px", "");

innerHTML won't close the <br> tag so you should need to replace the <br> tag to <br/>.
outXml = outXml.Replace("<br>", "<br/>");



View Generated PDF file




Tags:
convert pdf to html in allinworld99, css not support while generating pdf from html code in allinworld99, background color not supported in htmlworker in allinworld99, how to convert htmlwoker to xmlworker in allinworld99,

Nhận xét

Popular Posts

Mindjet MindManager 2019 v19.1.198 + Win/Portable Free Full Download

Download Mindjet MindManager 2019 v19.1.198 + Win/Portable Full Free latest version offline setup for Microsoft Windows 7, 8, 10, XP, Vista. Mindjet MindManager 2019 v19.1.198 for Win Free Download is a fantastic and important software program, with this software you can create your favorite design, maps, flowchart, conceptual, tree and a lot of more best design on your laptop with both 32-bit and 64-bit. Mindjet MindManager 2019 v19.1.198 + Win/Portable Overview With MindManager, you can create your minds and ideas on paper, images, images, ideas and paper charts, organize your relationship and manage your information. This software is designed to improve your work environment and further influence the business process. MindManager 2019 full can accurately reflect your strategic plan in the mind of the map. You can work with some projects together to show each role in a separate package. In a mind map, many topics include subtopics, contacts, notes, photographs, and presentations. You...

Autodesk ArtCAM 2017 Crack + Patch + Full Version

Autodesk ArtCAM 2017 Crack + Patch + Full Version ArtCAM is, in fact, a design tool designed more for designers than engineers, and allows designers to showcase their creativity. The software delivers a CNC modeling CAD that can be used for a variety of industries. For example, designers of signs, woodcutters, jewelry designers and many others who can produce high-quality products before they can deliver their products in two-dimensional and three-dimensional form. It's easier with this software than ever. Features and Features of ArtCAM 2017 Crack + Patch + Full Version: Support for 64-bit systems Ability to mount jewelry pieces The ability to create complex shapes Ability to cut different pieces of pages The ability to create floating vectors Save layers and shapes that you must use Availability of ready-made models available System Requirements for ArtCAM 2017 full Crack for 2017, 2018: OS: Windows 7 SP1 / 8.x / 10 for 2012: Processor Type & Speed: Intel Core 2 Duo (or equiv...

CorelDRAW Graphics Suite 2019 v21.1.0.628 Portable Free Full Download

Download CorelDRAW Graphics Suite 2019 v21.1.0.628 Portable Free latest version offline setup for Microsoft Windows 7, 8, 10, XP, Vista. CorelDRAW Graphics Suite 2019 v21.1.0.628 Portable for Win Free Download is one the top best software program for your photo designer and creator with high-quality for your laptop. CorelDRAW Graphics Suite 2019 v21.1.0.628 Portable Overview CorelDRAW Graphics Suite 2019 v21.1.0.628 Portable is one of the best graphic design tools manufactured by the famous Coral Company. CorelDRAW 2019 Portable Free Download company has a large corporate portfolio of CorelDRAW Portable and design software that is graphic box software. The new version of the collection has excellent features and so tools to create many beautiful and quality tasks. CorelDRAW Graphics Suite 2019 Portable is by PortableBull and published on 4/25/2019 at 9:30 PM. Features of CorelDRAW Graphics Suite 2019 v21.1.0.628 Portable Software features CorelDRAW Graphics Suite. Support for all p...