1

我开始做这样的事情,所以我需要一点帮助。

我想打印一些数据并给它一个格式来打印它作为建立票,那么最好的方法是什么?

  • 使用 java api 并自己创建服务? http://docs.oracle.com/javase/tutorial/2d/printing/index.html

  • 或者它是否存在任何用于此目的的免费库?

  • 也许在打印之前用数据创建一个 PDF 更好?我一直在搞乱 PDFbox API,但我不太喜欢它。

  • 我不知道将使用什么打印机,票打印机是使用标准尺寸还是存在不同的票尺寸?

  • 我还需要在打印之前显示预览(我使用的是 Swing)。

  • 无需存储格式化数据。

提前致谢。

4

2 回答 2

1

来自一个真实的例子:我们正在运行一个项目,该项目打印发货标签以发送带有包裹服务的包裹。标签包含条形码和其他文本信息以及徽标。

通常票据打印机可以理解一种特殊的打印机控制语言,即如果它是 Zebra 打印机,它可以理解 EPL 或 ZPL 代码。要生成一张票,我们只需通过一个简单的套接字连接将整个控制代码发送到打印机。控制代码本身是通过模板引擎(在我们的例子中为 Velocity)创建的。

当然,有不同的打印机可以满足不同的要求——这可能取决于实际应该打印的内容。因此,根据打印机的不同,您可能需要创建一组不同的模板来制作标签:

https://en.wikipedia.org/wiki/Printer_control_language

顺便说一句:通常打印机附带软件,让您设计纸标签的布局(这让生活变得非常轻松)。我们使用这个软件来创建初始布局。控制代码本身包含用于配置打印机的所有命令(标签尺寸等 - 毫无疑问,有很多不同的格式和尺寸,如前所述:它确实取决于用例)。

于 2012-11-03T18:33:54.093 回答
1

如果您决定生成 pdf 文件然后打印,我建议使用Apache FOP。我总是使用这个库来生成 PDF。这个库并不容易,但提供了许多选项。

第二种选择 - 您可以生成 HTML 页面然后打印它。

于 2012-11-03T18:18:12.797 回答