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

Sugar Panic flash puzzle game

Play Sugar Panic, a free online puzzle game. Tags: ball games, candy games, kiz10 games, monster games, panic games, physics based games, roll games, sugar games, sweet games

ARTCUT 2009 Software USB Driver Free Full Download

Download ARTCUT 2009 Software USB Driver Full Free latest version offline setup for Microsoft Windows 7, 8,  10, XP, Vista. ARTCUT 2009 Software USB Driver is one of the best especially designer inside the agency of cutting plotter machine for operating. ARTCUT 2009 Software USB Driver Overview Artcut 2009 is the 3D realistic programming worked for 5-pivot laser cutting on Without it, with a well-ordered direction through the whole programming procedure. ArtCut programming self-sufficiently amends the courses of the hub in order to avoid crashes with the piece or different components of the machine.  Artcut 2009 Software PC programming is extraordinarily structured inside the organization of plotter cutting for working. You can undoubtedly make, do shrewd trimmings of plastic cutting. It can likewise e create legitimate plotter cuttings. You can have the chance of extra set up for the essential period of work. Stage pay, corner changes, and obtaining methods may...

Format Factory v3.3.5.0

Description:- Format Factory is a free audio, video and photo converter that supports a large range of formats for encoding and ripping. You can convert either single files or entire folders from one format to another. Presets for portable devices make it easy to create audio and video files that can play on your Android phone or tablet, iPhone, iPad, iPod or Blackberry. Format Factory lets you rip your favorite DVDs and Music CDs to create a copy of your films and songs on your local hard disk or any portable storage drive. If your media files are corrupted, Format Factory can help to repair them. While converting pictures, Format Factory allows rotation and zoom as well as adding of tags and watermarks.  The program also comes with an AV Mux tool. Video formats: MPG, WMV, 3GP, FLV, SWF, MP4, AVI, ... Audio formats: WAV, WMA, OGG, MP3, AAC, AMR, ... Image formats: PNG, JPG, TIF, ICO, BMP, GIF, TGA, ... And Many More....... Previews:- Download Link:- Download Format Factory Passwor...