我使用ITextSharp构建了一个Web应用程序,将HTML转换为用户保存的PDF。这很好用。现在虽然我的任务是创建一个按计划将PDF保存到共享的过程。但是,由于整个PDF创建都是基于HTML,因此我需要通过删除前端来解决这个问题。
很难为此展示代码,所以我希望我能够很好地理解这个概念。
我尝试创建一个我可以触发的Web服务来呈现HTML并创建PDF并删除它,但是我似乎无法找到一种方法来使Web服务实际呈现页面。我不确定那是否可能。
在我不使用HTML重做PDF设计生成的痛苦路线之前,我基本上想看看是否有人有任何想法。
答案 0 :(得分:1)
有很多方法可以解决这个问题,这里有几个建议我会解决这个问题:
- 将代码恢复到控制台应用程序并使用计划任务运行代码。 - 运行将在您的Web应用程序中执行Web服务的计划任务。
答案 1 :(得分:0)
只是详细说明MAlvarez和Chris Haas所说的,这可能适合你:
在服务器上使用curl或wget获取HTML:
wget -O - http://localhost:80/my/page.html> result.html
将结果发布到您的网络服务以呈现为PDF:
curl -F file=@result.html -F outputName = result.pdf -F> result.pdf
将result.pdf存储在您需要的位置(除非您的Web服务可以在步骤#2中执行此操作)
curl -F file=@result.pdf -F storeTo = my / storage / resultpdf
上述命令仅供参考,因为只有您知道Web服务的参数等。
答案 2 :(得分:0)
所以,仍然难以发布代码,但我能够使用HTMLGenericControls和Literals在Web服务代码中构建整个页面,然后使用itextsharp将其呈现为PDF。
面向用户版本的表使用了我在Literal中构建的网格视图。我在代码中构建的整个页面由itextsharp处理,PDF生成为文件流