簡體   English   中英

將 div 內容導出為 pdf 格式

[英]Export div content to pdf format

我使用以下代碼使用 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中給出,

http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf

 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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM