Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将div内容导出为pdf格式_C#_Asp.net_C# 4.0 - Fatal编程技术网

C# 将div内容导出为pdf格式

C# 将div内容导出为pdf格式,c#,asp.net,c#-4.0,C#,Asp.net,C# 4.0,我使用以下代码使用itextsharp将div内容导出为pdf格式 Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); StringWriter sw = new StringWriter(); Ht

我使用以下代码使用itextsharp将div内容导出为pdf格式

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
Panel1.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
// Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
Document pdfDoc = new Document(new Rectangle(1000f, 1000f));
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
它显示以下错误

Could not find a part of the path 'C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\Images\logo.png'.`
如果我在desin中隐藏徽标,那么它将导出为pdf格式,但缺少对齐方式。如何更正。我需要导出的页面如下

为了将内容导出到任何pdf文件,您需要遵循pdf文件的基本约定,这些约定在以下pdf参考文件的附录G中给出

首先在Nuget控制台中安装类:安装包itextsharp.xmlworker
然后添加名称空间:使用iTextSharp.tool.xml;
Response.ContentType=“application/pdf”;
//字符串pdf;
//pdf=Convert.ToInt32(hidTablEmpCode.ToString()).ToString()+“.pdf”;
AddHeader(“内容处置”、“附件;文件名=Panel.pdf”);
//AddHeader(“内容处置”、“附件;文件名=Panel.pdf”);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
//var example_html=@“这是一些示例文本!!!

”; StringReader sr=新的StringReader(lblMessageDetail.Text); 文档pdfDoc=新文档(PageSize.A4、50f、50f、50f、50f); var writer=PdfWriter.GetInstance(pdfDoc,Response.OutputStream); pdfDoc.Open(); 对于(int i=0;i<5;i++) { 字符串imageFilePath2=Server.MapPath(“.”+“/images/GraphicNew.jpg”; iTextSharp.text.Image jpg3=iTextSharp.text.Image.GetInstance(imageFilePath2); jpg3.Alignment=iTextSharp.text.Image.undernative; jpg3.ScaleToFit(3530835); jpg3.设置绝对位置(0,0); pdfDoc.Add(jpg3); } XMLWorkerHelper.GetInstance().ParseXHtml(编写器,pdfDoc,sr); 字符串imageFilePath=Server.MapPath(“.”+“/Bimages/ns5.png”; iTextSharp.text.Image jpg=iTextSharp.text.Image.GetInstance(imageFilePath); GetEmp(); 字符串imageURLS=Server.MapPath(“~/Emp/Document/”)+hidTablEmpCode.Value+“/”+hidSign.Value.ToString(); iTextSharp.text.Image jpg2=iTextSharp.text.Image.GetInstance(imageURL); jpg2.ScaleToFit(100,50); jpg2.SetAbsolutePosition(370530); jpg2.Alignment=Element.ALIGN_LEFT; pdfDoc.Add(jpg2); jpg.Alignment=iTextSharp.text.Image.ALIGN_LEFT; jpg.ScaleToFit(100,50); jpg.SetAbsolutePosition(50735); pdfDoc.Add(jpg); pdfDoc.Close(); 响应写入(pdfDoc); Response.End();
您能否向我们展示您试图导出的html部分??我想这个链接可以帮到你!我编辑了我的问题并上传了图片,请检查一下
 Firstly install class in Nuget console: Install-Package itextsharp.xmlworker
Then add namespace: using iTextSharp.tool.xml;  





 Response.ContentType = "application/pdf";
            //string pdf;
            // pdf = Convert.ToInt32(hidTablEmpCode.ToString()).ToString() + ".Pdf";
            Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf");
            //Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf");
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            // var example_html = @"<p>This is <span class="" headline="" style="">some</span> sample  text<span style="">!!!</span></p>";
            StringReader sr = new StringReader(lblMessageDetail.Text);
            Document pdfDoc = new Document(PageSize.A4, 50f, 50f, 50f, 50f);
            var writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
            pdfDoc.Open();
            for (int i = 0; i < 5; i++)
            {
                string imageFilePath2 = Server.MapPath(".") + "/images/GraphicNew.jpg";
                iTextSharp.text.Image jpg3 = iTextSharp.text.Image.GetInstance(imageFilePath2);
                jpg3.Alignment = iTextSharp.text.Image.UNDERLYING;
                jpg3.ScaleToFit(3530, 835);
                jpg3.SetAbsolutePosition(0, 0);
                pdfDoc.Add(jpg3);
            }
            XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
            string imageFilePath = Server.MapPath(".") + "/Bimages/ns5.png";
            iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(imageFilePath);
    
            GetEmp();
            string imageURLS = Server.MapPath("~/Emp/Document/") + hidTablEmpCode.Value + "/" + hidSign.Value.ToString();
            iTextSharp.text.Image jpg2 = iTextSharp.text.Image.GetInstance(imageURLS);
            jpg2.ScaleToFit(100, 50);
            jpg2.SetAbsolutePosition(370, 530);
            jpg2.Alignment = Element.ALIGN_LEFT;
    
            pdfDoc.Add(jpg2);
            jpg.Alignment = iTextSharp.text.Image.ALIGN_LEFT;
            jpg.ScaleToFit(100, 50);
            jpg.SetAbsolutePosition(50, 735);
            pdfDoc.Add(jpg);
    
           
    
            pdfDoc.Close();
            Response.Write(pdfDoc);
            Response.End();