我在网上搜索了一些结果,但似乎都不适合这项任务。我正在寻找.NET的可能性,但也想知道Java/PHP等开发人员如何完成此类任务。
据我所了解,我有以下选择:
使用MigraDoc/PDFSharp并走“代码”路线,没有任何可视化设计器
我可以使用HTML并将其转换为PDF(这在理论上是最好的方法,但实际上很难将好看的HTML 1:1转换为PDF文件)
我可以使用一些奇怪的MS Word模板批处理东西
LaTeX?
你有什么解决方案吗?
我以前为Windows桌面应用程序使用的一种方法是使用XAML / WPF。 这个解决方案的好处是有很多关于使用XAML构建布局的好工具和文档。 然后,只需将画布传递给PrintDialog即可完成。 如果您已经在WPF / XAML上做了很多功课,那么这是一个非常简单的解决方案,我已经取得了很多成功。 我学习开始所需的大部分内容都在这里:http://www.switchonthecode.com/tutorials/printing-in-wpf
当然,缺点是你会依赖.NET和WPF。
似乎没有人提到基于Latex的解决方案,有一个stack overflow Tex question由jason回答。简而言之:使用MikTex,可以制作漂亮的文档,但构建/维护过程非常麻烦。
感谢您所有的回答...
最终我决定使用Visual Studio 2010和Office-Tools实现自己的解决方案...这不是“完美”的解决方案,但它很容易且快速实现,同时我仍然有灵活性可以更改Excel或Word文档...
当然,缺点是需要安装Office。
Crystal Reports 可能会让人感到头疼!在基本层面上,我们的内部软件(如工单、发票等)的外包开发人员使用 Dev Express,尽管我认为它可能有点昂贵。
对于由软件生成的报告,我最终选择将其导出为原始 CSV 格式,当然可以通过任何电子表格软件打开。
这取决于您如何获取模板文档。例如,如果您的组织中有其他人负责生成“标准”发票文档,则可能需要使用Microsoft Word API中的邮件合并解决方案,因为您需要使用Word格式的输入文件。或者,如果您仅获得文档外观规格(“右上角有徽标,向下5英寸,然后是水平线,距离该线2英寸,然后...等等”),则可以完全使用代码完成。即使您从头开始设计解决方案,也要考虑您的文档供应商将是谁,并相应地进行计划。最后,如果这是针对一小组文档的从头开始设计,而且不会经常更改(例如,您正在开办自己的软件公司并希望发送发票),那么最好不要这样做。只需购买现成的产品或使用Word :)