打印发票、拣货单等最佳方法

3

好的,这是我的情况说明。

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

我希望客户能够修改发票。也就是说,能够放置他们的标志或更改字体大小等。基本上是格式化显示。

我目前考虑的方案有:

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

2)在本地模式下使用ReportViewer。听说用户可以下载一个插件用于Web Dev Express并编辑本地报表文件。有人能证实吗?

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

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

那些做过这种事情的人,你们有什么建议吗?

3个回答

7

在刚刚完成一个与其相关的项目后,我非常推荐使用iTextSharp制作发票和其他表单的PDF格式。除了从头创建PDF文件外,还可以使用它来填写用Acrobat(甚至是MS Office/OpenOffice)创建的PDF表单和/或模板。而且还是免费的。

在Windows应用程序或ASP.Net应用程序中使用相当容易。大部分文档和书籍(例如iText in Action)都关于原始Java版本iText。然而,有关转换过程的教程和示例代码,在.Net版本中的所有功能和库都基本相同,因此调整书籍和参考代码并没有问题。

我确实通过艰苦的方式学到,HTML和CSS对于浏览器来说很好(好吧,除了“每个浏览器解释不同”的问题),但对于生成一致、有吸引力和精确的印刷输出和表单来说却很糟糕。


2
我个人正在使用Aspose Words:它们使用Word文档作为模板,我正在使用Words书签功能标记和检索我需要填充的字段。
Aspose与表格很好配合(例如:您可以向表格添加行等),并将Word文档视为XML文档。然后,您可以将文档保存为MSWord或PDF。
我不会说这是世界上最好的库,但绝对值得一看 :)

0

你可以使用Crystal Report来实现这个功能。但首先需要扫描发票并将其保存为图像文件。

接下来,在你的Crystal Report中,将图像导入报表中,并将字段拖动到它们在发票上应该打印的位置(图像作为指南)。然后在所有设置完成后,删除图像并尝试打印。

希望这能帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接