2009-08-03 90 views
11

我正在处理的一个项目需要我生成以HTML(.aspx)和PDF格式输出的报告。有没有可用的解决方案,可以将.aspx页面的输出提供给PDF生成实用程序?完全支持HTML和CSS将是理想之选。将.aspx直接转换为.pdf

谢谢!

+1

感谢您的答案!我应该澄清一件事... Web应用程序使用Web表单和SSL证书进行保护。希望这不会是一个问题。从我正在阅读的ABCpdf和wkhtmltopdf看起来是最好的选择。 ABCpdf似乎更好地与.NET集成,但是由于使用WebKit渲染引擎,wkhtmltopdf可能在渲染复杂CSS方面做得更好。 CSS可能是半复杂的,将来可能会添加图像(图表等)。谢谢! – JCdowney 2009-08-03 03:00:31

回答

12

wkhtmltopdf将做到这一点....用途:

wkhtmltopdf http://www.google.com google.pdf 

就是这样。你可以去任何网页...甚至aspx。因为它使用webkit html渲染引擎(Safari,Chrome),所以css比任何其他实用程序都支持得更好。享受

有一个单独的.exe(7 MB),可以从.Net使用,只需使用Process.Start 确保您将exe复制到您的项目目录中,或者您必须指定完整路径。 例如:

static void HtmlToPdf(string website,string destinationFile) 
    { 
     ProcessStartInfo startInfo = new ProcessStartInfo(); 
     startInfo.FileName = "wkhtmltopdf.exe"; 
     startInfo.Arguments = website+" "+destinationFile; 
     Process.Start(startInfo); 
    } 

我认为SSL支持,但我不认为2路SSL将在时刻工作。它是我所见过的最好的一站式HTML - > PDF工具。

+0

这听起来不错。 – 2009-08-03 09:09:03

+0

工程非常好,即使我的网站托管(网络应用程序生成pdf发票) – Marek 2010-01-20 08:01:44

+0

我发现它打破了一些页面 - 检查这一个例如:http://jsfiddle.net/BgNPC/8/ – 2011-12-01 21:24:41

0

AspPDF是一个用于动态创建,读取和修改可移植文档格式(PDF)文件的ActiveX服务器组件。

http://www.asppdf.com

3

我以前使用HTMLDoc它在将HTML表格,图像等转换为体面的PDF报告方面做得很好。好像还有一个open source version

iTextSharp在基本级别呈现html。

我发现在一个简单的HTML渲染器中进行黑客攻击可以让我立即提供PDF功能,然后我不得不在晚些时候对PDF报告渲染器进行备份。如果您将表示层与数据和业务逻辑分开,这应该非常简单。

我使用PDFlib然后iTextSharpPDFlib都是很棒的库,用于从您的数据源以编程方式创建PDF。

我还没有看到一个完美的HTML 2 PDF渲染器,所以我会计划一个两阶段的方法。您可能还想看看其他选项this question

0

ActivePDF WebGrabber是一款优秀的产品,只要您拥有正确的配置。这是昂贵的,但它有HTML和CSS的强大支持。

0

我们已将此产品用于Alt-Soft XML2PDF产品。它可以使用XSL-FO markup language将任何XML文件转换为PDF。

因此,如果您的ASPX页面与XHTML兼容,Xml2PDF会将这些页面转换为相当快乐和轻松的PDF。下面是一个示例页面 - 包含一个可下载的ASP.NET示例 - 显示其工作原理:http://www.alt-soft.com/products_HTML2PDF.aspx

这不是免费的,但非常值得它的许可证价格!

马克

0

这是一个ASPX页面转换成PDF最佳的控制:

http://www.essentialobjects.com/Products/EOPdf/ASPXToPDF.aspx

这是一个ASP.NET服务器控件,您可以将其放入页面中。它会自动处理ASP.NET身份验证和会话。因此,即使页面请求登录并使用会话数据,您也可以转换当前页面。