首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android中创建POS打印机大小的账单?

如何在android中创建POS打印机大小的账单?
EN

Stack Overflow用户
提问于 2015-04-03 09:37:42
回答 1查看 5.4K关注 0票数 3

我已经创建了用于比尔使用iText的pdf。我想用POS打印机打印这张钞票。POS打印机纸张大小为58毫米。我的PDF文件看起来像A4大小。如何为POS打印机大小重新调整此页面的大小?

而且,如果产品超过100的平均值,我必须使用新的页面。所以会有两页。在这种情况下,如何用一张纸打印钞票。

或者,还有其他方法可以用android手机或平板电脑创建账单和打印吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-03 09:51:05

当您创建这样的文档时:

代码语言:javascript
复制
Document document = new Document();

创建的文档的所有页面都具有默认大小。默认大小是A4。

有一个名为PageSize的类,它包含许多不同的标准大小。例如,如果您想创建一个具有美国字母大小的页面,您可以创建如下所示的Document

代码语言:javascript
复制
Document document = new Document(PageSize.LETTER);

你面临两个问题:

  1. 你的钞票没有标准的尺寸。
  2. 你事先不知道你的账单是多少。

解决问题1很容易:Document类接受一个Rectangle参数。您可以创建自己的页面大小如下:

代码语言:javascript
复制
Rectangle pagesize = new Rectangle(288, 720);
Document document = new Document(pagesize);

在本例中,您的页面大小为4×10英寸:

代码语言:javascript
复制
288 user units = 288 pt = 4 x 72pt = 4 inch
720 user units = 720 pt = 10 x 72pt = 10 inch

您可以通过将58 mm转换为pt: 164.409448819 pt来解决您的第一个问题。

解决第二个问题要困难得多。要做到这一点,一种方法是创建一个非常长的文档。PDF的最大大小为14,400乘14,400个用户单位,因此您可以创建如下矩形:

代码语言:javascript
复制
 Rectangle pagesize = new Rectangle(164.41f, 14400);

如果你的账单超过5.08米,那就太令人吃惊了。如果该PDF格式对打印机来说太长,则可以将y位置存储在内容的末尾,然后在第二步缩小页面大小。

另一种方法是将所有内容添加到ColumnText对象中,然后询问列的高度,并为新创建的文档创建一个新的ColumnText对象,该文档具有前面计算的高度。怎么做?在我对这个问题的回答中解释了这一点:How to adjust the page height to the content height?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29429684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档