2013-04-26 55 views
0

我很茫然,可以使用某些方向。我有一个对客户进行审计的Windows服务。对于新客户,我需要为每个客户创建一个配置文件。我已经有一个ASP.net C#网页,为用户显示一个客户的个人资料:C#Windows服务>渲染网页并输出为PDF

http://webserver/showprofile.aspx?id=CustomerID 

我想运行的一些服务类型的循环,将呈现每个新客户的个人资料和输出所有的这些配置文件转换为PDF,Word文档等。有没有简单的方法来使用现有的显示配置文件网页做到这一点?

如果不是,在C#中做到这一点的最佳方法是什么?如果它需要一个组件,我会更喜欢免费的东西,非常便宜。如果有什么可以帮助的话,我目前拥有Telerik完整系列工具的许可证。底线,这必须以编程方式完成,因为用户与生成/导出为PDF无关。他们只会访问生成的导出文件。

在此先感谢您的帮助。

+0

搜索 'HTML到PDF':http://stackoverflow.com/search?q=%5B.net%5D+html+to+pdf – ZippyV 2013-04-26 11:15:28

+0

我也曾有过类似的问题,使用ABCpdf在我的一个项目中。它非常易于使用,但它不是免费的。尽管如此,您仍然可以免费试用30天,因此可能需要检查。 http://goo.gl/o258E – Trogvar 2013-04-26 11:36:27

+0

我已经想通了,我将不得不得到某种类型的HTML到PDF组件。我的主要问题是如何渲染网页并转储html格式? Something like foreach(var client in customerList){htmlOutput = htmlOutput +从每个HTML渲染转储} – 2013-04-26 19:41:20

回答

1

可以使用下面的命令使用的PDFCreator:

private PDFCreator.clsPDFCreator printer; 
printer = new PDFCreator.clsPDFCreator(); 
printer.cDefaultPrinter = "PDFCreator"; 

printer.cOptions.UseAutosave = 0; 

// Format in which file is to be saved. 0 if for pdf. 
printer.cOptions.AutosaveFormat = 0; 
printer.cClearCache(); 

printer.cStart(); 
foreach(int CustomerId in CustomerIDs)//array of customer ids as an example 
{ 
printer.cPrintURL("http://webserver/showprofile.aspx?id=" + CustomerID.ToString()); 
} 

您可以通过下面的链接下载软件和必要的DLL,并期待在.NET文件夹中的例子。

http://sourceforge.net/projects/pdfcreator/

+0

我最终采用ABCPDF来解决这个问题。我会给你一个答案,因为我对此不满意。 – 2013-07-19 05:27:43