2011-11-16 86 views
0

我想创建一个Windows窗体应用程序,它将坐在我们的本地服务器上,并每隔30分钟向网络打印机打印发票。在C#中使用Windows窗体进行批量打印#

有人可以确认您绝对不能使用控制台应用程序进行打印(发票将包括徽标图像等)。我问的原因是,当没有必要使用GUI时,似乎毫无意义。如果可以的话,一个简单的资源,让我走了会很好。

另外我似乎无法找到一个容易遵循.net打印基础知识(定位数据等)的教程。一刻,整个概念一点都没有消失!

+0

有关打印的详细信息,您需要从文档类型开始。你打印Word文档,文本文件,PDF文件或其他东西吗? – DOK

+0

对不起,应该做得更清楚一点。我想从数据库中提取数据 - 例如订单号码,帐单地址,订单等 – ComfortablyNumb

回答

0

如果您不需要用户界面,也许.Net Windows服务将完成这项工作。我之前使用过这种方法来达到这个目的 - 每隔n分钟,它就会在文件夹或数据库表中寻找要打印的内容。

如果你选择这条路线,这里是one许多有用的在线教程,你可以使用。

+2

微软强烈建议*不要*使用服务来打印。麻烦制造者是打印机驱动程序,他们通常期望能够显示UI并向用户发送垃圾邮件,以替换诸如更换半空碳粉盒之类的东西。在服务中工作不好,没有人能看到窗口。无论如何打印只是停下来诊断原因。 –

+0

@Hans Passant:好点。我想选择正确的工具取决于情况。在一个非常大的公司中,我成功地编写了服务,以便从远程打印机打印大量表单信件。没有必要让一个人坐在监视这个工作的控制台上,这个工作人员整天或者整夜地不停地工作。错误的体面记录 - 如果需要,包括电子邮件通知 - 可以处理没有用户界面的问题。打印量少得多,一个控制台应用程序可能肯定会更好。这可以控制打印作业的时间。 – DOK

-1

我不明白为什么控制台应用程序会出现问题,您可以使用WinForms应用程序可以使用的所有相同的库。如果您只是从数据库提取数据,则可以使用许多方法来生成文档。如果你想变得有趣,你甚至可以使用GDI +对象生成一个'很好'的格式化文档并插入你的值。只要你在后台制作你的文档,你是否有可预览的窗口并不重要(尽管可能有一些隐藏的调试工具是明智的)。

我也同意上面的帖子Windows服务可能是您最好的选择。