【问题标题】:C# Windows Service > Render Web Page and Output to PDFC# Windows 服务 > 呈现网页并输出为 PDF
【发布时间】:2013-04-26 11:11:18
【问题描述】:

我不知所措,可以使用一些方向。我有一个对客户执行审计的 Windows 服务。对于新客户,我需要为每个客户创建一个配置文件。我已经有一个为用户显示单个客户资料的 ASP.net C# 网页:

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

我想在服务中运行某种类型的循环,以呈现每个新客户的个人资料并将所有这些个人资料输出到 PDF、Word 文档等。有没有使用现有 Show Profile 的简单方法来做到这一点网页?

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

提前感谢您的帮助。

【问题讨论】:

  • 我遇到了类似的问题,并在我的一个项目中使用了 ABCpdf。它真的很容易使用,但它不是免费的。不过,您仍然可以获得 30 天的免费试用期,因此可能需要查看一下。 goo.gl/o258E
  • 我已经想到我必须获得某种 html 到 pdf 组件。我的主要问题是如何呈现网页并转储 html 格式?类似于 foreach (var client in customerList) { htmlOutput = htmlOutput + The Dump From Each HTML Render }

标签: c# service pdf-generation printing-web-page


【解决方案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/

【讨论】:

  • 我最终使用 ABCPDF 解决了这个问题。我会试一试你的答案,因为我现在不满意。
猜你喜欢
  • 2020-03-12
  • 2021-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多