如何将asp.net webform中的特定div转换为具有相同css样式的pdf格式 [英] How to convert specific div in asp.net webform into pdf format with same css styles
问题描述
我正在开发一个发票管理器,我希望将结算明细保存在pdf中。我正在使用iTextsharp,但表格格式和css不包括在内。
如果我得到的代码将包含datacontrols的asp.net网页div转换为html格式。它也会有所帮助。
请帮我解决问题。提前致谢。
我的尝试:
我有已经尝试了
iTextsharp,Select.htmlToPdf
I am developing an invoice manager where i would like to save the billing details in pdf. I am using iTextsharp but the table format and the css dont get included.
If I get the code to convert the asp.net web page div containing datacontrols into html format. It will also be helpful.
Please help me with proper solution. Thanks in advance.
What I have tried:
I have already tried
iTextsharp , Select.htmlToPdf
推荐答案
你可以iTextSharpHTMLWorker
class将HTML转换为PDF:
You can iTextSharpHTMLWorker
class to convert HTML to PDF:
Response.ContentType = "application/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(example_html);
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
一切正常但HTMLWorker已经过时了。因此,您可以使用XMLWorkerHelper获得更多优势:
首先在Nuget控制台中安装类: Install-Package itextsharp.xmlworker
然后使用iTextSharp.tool.xml添加命名空间:;
Everything will work fine but HTMLWorker is obsolete. So instead you can use XMLWorkerHelper to get more advantage:
Firstly install class in Nuget console: Install-Package itextsharp.xmlworker
Then add namespace: using iTextSharp.tool.xml;
Response.ContentType = "application/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(example_html);
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
var writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
这篇关于如何将asp.net webform中的特定div转换为具有相同css样式的pdf格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!