使用WebService从HTML渲染PDF

时间:2015-05-19 15:42:44

标签: c# web-services pdf-generation itextsharp

我使用ITextSharp构建了一个Web应用程序,将HTML转换为用户保存的PDF。这很好用。现在虽然我的任务是创建一个按计划将PDF保存到共享的过程。但是,由于整个PDF创建都是基于HTML,因此我需要通过删除前端来解决这个问题。

很难为此展示代码,所以我希望我能够很好地理解这个概念。

我尝试创建一个我可以触发的Web服务来呈现HTML并创建PDF并删除它,但是我似乎无法找到一种方法来使Web服务实际呈现页面。我不确定那是否可能。

在我不使用HTML重做PDF设计生成的痛苦路线之前,我基本上想看看是否有人有任何想法。

3 个答案:

答案 0 :(得分:1)

有很多方法可以解决这个问题,这里有几个建议我会解决这个问题:

- 将代码恢复到控制台应用程序并使用计划任务运行代码。 - 运行将在您的Web应用程序中执行Web服务的计划任务。

答案 1 :(得分:0)

只是详细说明MAlvarez和Chris Haas所说的,这可能适合你:

  1. 在服务器上使用curl或wget获取HTML:

    wget -O - http://localhost:80/my/page.html> result.html

  2. 将结果发布到您的网络服务以呈现为PDF:

    curl -F file=@result.html -F outputName = result.pdf -F> result.pdf

  3. 将result.pdf存储在您需要的位置(除非您的Web服务可以在步骤#2中执行此操作)

    curl -F file=@result.pdf -F storeTo = my / storage / resultpdf

  4. 上述命令仅供参考,因为只有您知道Web服务的参数等。

答案 2 :(得分:0)

所以,仍然难以发布代码,但我能够使用HTMLGenericControls和Literals在Web服务代码中构建整个页面,然后使用itextsharp将其呈现为PDF。

面向用户版本的表使用了我在Literal中构建的网格视图。我在代码中构建的整个页面由itextsharp处理,PDF生成为文件流