如何将asp.net webform中的特定div转换为具有相同css样式的pdf格式 [英] How to convert specific div in asp.net webform into pdf format with same css styles

查看:79
本文介绍了如何将asp.net webform中的特定div转换为具有相同css样式的pdf格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个发票管理器,我希望将结算明细保存在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

推荐答案

你可以iTextSharp HTMLWorker class将HTML转换为PDF:

You can iTextSharp HTMLWorker 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆