当前位置: 首页 > 编程语言 > C#

ConvertHTMLcontenttoPdfusingc#andasp.netshare

时间:2023-04-11 01:38:26 C#

ConvertHTMLcontenttoPdfusingc#andasp.net这里我在尝试将htmldiv标签内的内容转换为pdf时发现如下错误:输入字符串的格式不正确这是我尝试在C#中使用的代码:publicstringgetWhileLoopData(){stringhtmlStr="";SqlConnectionthisConnection=newSqlConnection("数据源=VELU-PC\SQLEXPRESS;初始目录=EEP;Trusted_Connection=True;");SqlCommandthisCommand=thisConnection.CreateCommand();thisCommand.CommandText="select*fromProduct_category";thisConnection.Open();SqlDataReaderreader=thisCommand.ExecuteReader();while(reader.Read()){stringid=reader.GetString(6);字符串名称=reader.GetString(3);字符串Pass=reader.GetString(5);htmlStr+=""+Name+"Features:"+Pass+"";}thisConnection.Close();返回htmlStr;}voidgeneratetable(){divexcel.Visible=true;Response.ContentType="应用程序/pdf";Response.AddHeader("content-disposition","attachment;filename=TestPage.pdf");回复。缓存。SetCacheability(HttpCacheability.NoCache);StringWrit呃sw=newStringWriter();HtmlTextWriterhw=newHtmlTextWriter(sw);divexcel.RenderControl(hw);StringReadersr=newStringReader(sw.ToString());文档pdfDoc=newDocument(PageSize.A4,80f,80f,-2f,35f);HTMLWorkerhtmlparser=newHTMLWorker(pdfDoc);PdfWriterwriter=PdfWriter.GetInstance(pdfDoc,Response.OutputStream);pdfDoc.Open();htmlparser.Parse(sr);pdfDoc.Close();响应.Write(pdfDoc);响应.End();}publicoverridevoidVerifyRenderingInServerForm(System.Web.UI.Controlcontrol){}protectedvoidbutton_Click(objectsender,EventArgse){generatetable();这是我的HTML代码:ID名称功能:通过尝试用width='200'替换width='200px'它应该可以从每个有宽度的地方删除px。我建议不要使用htmlworker,因为它很旧并且不支持css样式,所以请尝试将xmlworker用于htmlworker。很简单,请参考下面的代码。请参考以上是C#学习教程:使用c#和asp.net将HTML内容转换为Pdf,分享所有内容。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注——protectedvoidlnkPDF_Clicked(objectsender,EventArgse){DocumentDoc;Doc=newDocument(PageSize.A4,10f,10f,50f,20f);字符串文件名="工资单";stringoutXml=selectedhtml.Value;outXml="#tdiv1{背景:红色;颜色:白色;}"+outXml;outXml=outXml.Replace("px","");outXml=outXml.Replace("","");内存流memStream=new内存流();TextReaderxmlString=newStringReader(outXml);使用(Documentdocument=newDocument()){PdfWriterwriter=PdfWriter.GetInstance(document,memStream);文档.Open();byte[]byteArray=System.Text.Encoding.UTF8.GetBytes(outXml);MemoryStreamms=newMemoryStream(byteArray);XMLWorkerHelper.GetInstance().ParseXHtml(writer,document,ms,System.Text.Encoding.UTF8);文档.Close();}Response.ContentType="应用程序/pdf";Response.AddHeader("content-disposition","attachment;filename="+文件名+".pdf");Response.Cache.SetCacheability(HttpCacheability.NoCache);Response.BinaryWrite(memStream.ToArray());响应.End();响应.Flush();顶一下,如涉及侵权请点击维权联系管理员删除如转载请注明出处: