如何在android中为POS打印机大小创建账单?
我已经使用iText为bill创建了pdf。 我想用POS打印机打印这张账单。 POS打印机纸张尺寸为58mm。 我的PDF看起来像A4大小。 如何根据POS打印机大小重新调整此页面的大小 而且,如果产品超过100意味着,我必须使用新的页面。 所以会有两页。 在这种情况下,如何用一张纸打印账单如何在android中为POS打印机大小创建账单?,android,printing,itext,Android,Printing,Itext,我已经使用iText为bill创建了pdf。 我想用POS打印机打印这张账单。 POS打印机纸张尺寸为58mm。 我的PDF看起来像A4大小。 如何根据POS打印机大小重新调整此页面的大小 而且,如果产品超过100意味着,我必须使用新的页面。 所以会有两页。 在这种情况下,如何用一张纸打印账单 或者,还有其他方法可以使用android mobile或平板电脑创建账单和打印吗?当您创建这样的文档时: Document document = new Document(); Document doc
或者,还有其他方法可以使用android mobile或平板电脑创建账单和打印吗?当您创建这样的文档时:
Document document = new Document();
Document document = new Document(PageSize.LETTER);
Rectangle pagesize = new Rectangle(288, 720);
Document document = new Document(pagesize);
Rectangle pagesize = new Rectangle(164.41f, 14400);
将创建一个所有页面都具有默认大小的文档。默认大小为A4
有一个名为PageSize
的类,它包含许多不同的标准大小。例如,如果要创建具有美式字母大小的页面,可以像下面这样创建文档
:
Document document = new Document();
Document document = new Document(PageSize.LETTER);
Rectangle pagesize = new Rectangle(288, 720);
Document document = new Document(pagesize);
Rectangle pagesize = new Rectangle(164.41f, 14400);
您面临两个问题:
文档
类接受一个矩形
参数。您可以创建自己的页面大小,如下所示:
Document document = new Document();
Document document = new Document(PageSize.LETTER);
Rectangle pagesize = new Rectangle(288, 720);
Document document = new Document(pagesize);
Rectangle pagesize = new Rectangle(164.41f, 14400);
在本例中,您将拥有4 x 10英寸的页面:
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的最大大小为14400乘14400个用户单位,因此您可以创建如下矩形:
Document document = new Document();
Document document = new Document(PageSize.LETTER);
Rectangle pagesize = new Rectangle(288, 720);
Document document = new Document(pagesize);
Rectangle pagesize = new Rectangle(164.41f, 14400);
如果你的账单长度超过5.08米,那真的很令人惊讶。如果该PDF对于打印机来说太长,您可以将y
位置存储在内容末尾,然后在第二步中减小页面大小
另一种方法是将所有内容添加到
ColumnText
对象中,然后询问该列的高度,并为新创建的文档创建一个新的ColumnText
对象,其高度在之前计算过。如何做到这一点?我在回答这个问题时解释了这一点:谢谢你,先生。。我将在我的项目中使用您的解决方案。先生,我将在我的项目中使用iText。不打算出售我的项目。但是我要去我和我朋友的酒店。先生,我要付多少钱?我已经读了一些关于这个问题的答案。但就我而言,我还是很害怕。先生,请通过你的回答来消除我的恐惧1.只有看看具体情况才能给出决定性的答案。请通过以下地址之一与iText Group联系:使用PageSize.A6而不是使用Rectange怎么样?@Menna AllahSamiPageSize.A6
是一个预定义的矩形
对象,是的,您可以使用它来代替定义自己的自定义矩形
对象。@NewDeveloper此解决方案解决了您的问题吗?