打印发票,挑选门票等的最佳方式

时间:2008-11-18 16:34:48

标签: c# .net winforms printing reporting

嗯,这是我的情景。

客户端/服务器使用SQL Express作为数据库winforms应用程序。我需要能够打印发票,装箱单等。

我希望客户能够修改发票。即。能够放置他们的徽标或更改字体大小等...基本上格式化显示。

到目前为止我考虑的事情都是。

1)使用模板引擎(类似于codesmith或mygeneration)并使用输出HTML的模板。然后打印html页面。

2)在本地模式下使用ReportViewer。我听说用户可以下载web dev表达插件并编辑本地报表文件。谁能证实这一点?

3)在远程模式下使用Reportviewer。

我对ReportViewer没有多少经验,所以我不确定我是否应该使用本地或远程模式。

那些在你的建议之前做过这种事情的人呢?

3 个答案:

答案 0 :(得分:7)

在用它完成一个项目后,我衷心建议iTextSharp将您的发票和其他表格创建为PDF。除了从头开始创建PDF之外,您还可以使用它来填写使用Acrobat(甚至是MS Office / OpenOffice)创建的PDF表单和/或模板。它是免费的。

在Windows应用程序或ASP.Net应用程序中使用它非常简单。大多数文档及其上的书籍(例如 iText in Action )都与原始Java版本iText有关。但是,有关转换过程的教程和示例代码,并且在大多数情况下,所有函数和库在.Net版本中的工作方式相同,因此调整书籍和参考代码一直没有问题。

我确实学到了HTML和CSS对浏览器很有用的困难方式(好吧,除了“每个浏览器解释它不同”的问题以外),但是对于尝试生成一致,有吸引力和精确的打印输出和表单非常糟糕

答案 1 :(得分:2)

我个人正在使用Aspose Words:他们使用word文档作为模板,我使用Words书签功能来标记和检索我需要填写的字段。

Aspose可以很好地与Tables配合使用(即:您可以在表格中添加行等等),并将Word文档视为XML文档。然后,您可以将文档另存为MSWord或PDF。

我不会说它是世界上最好的图书馆,但绝对值得一看:)

答案 2 :(得分:0)

您可以使用Crystal Report进行此操作。但首先你需要扫描INVOICE并将其保存为图像,

接下来,在您的水晶报表上,将图像导出到其上,并将字段拖到必须在发票上打印的位置(图像服务作为您的指南)。然后在完成所有设置后,删除图像并尝试。

希望这会有所帮助。