我正在开发一个处理发票的Web应用程序(功能不仅限于发票,但无关紧要)。工作流程的一部分是在发票发布后打印。这意味着网站用户可以选择10-20(和更多)发票并一次打印。此外,可能有多个发票模板可以自定义(这是关键要求之一)。
我还要提一下,我们决定从html代码生成PDF然后打印它。因此,PDF创建过程可能需要一些时间才能完成,我们决定使用Windows服务进行发票打印。
因此,总结我们有以下要求:
我们的第一个想法是将用户控件用作发票模板。用户控件将负责发票布局。这也意味着将有一个基类用于这些用户控件,通过它我们将能够为控件定义数据源。 在这种情况下,我们甚至可以允许用户修改ascx文件(或类似的东西),以便在必要时编辑基本字幕。
问题始于Windows服务,我们无法为用户控件生成输出。所以另一个解决方案是使用http处理程序或Web服务来生成用户控件输出并将其传输到Windows服务。但这使解决方案变得复杂(例如,我们需要对此问题和类似问题使用身份验证)。
也许有一种更简单的方法可以做到这一点?
提前致谢。
答案 0 :(得分:1)
在回复您的评论时,我建议您让网站生成HTML并将其保存到您的数据库中的“GeneratedInvoice”字段中,然后服务处理该字段(即转换为PDF,但您的pdf转换软件会执行此操作)。这是合适的,因为您有生成的发票的“已保存”副本;即如果您的发票处理程序发生变化(不同的样式等),您的旧发票不会受到影响,但如果需要,您可以以可能的“新”格式重新生成给定的一堆。