pos机打印纸怎么安装图解(pos机怎么装纸图片步骤)

发布于 2024-01-02 13:55:13 阅读()作者:拉卡拉POS机

POS机免费领取申请

已有9352成功领取POS机

pos机打印纸怎么安装图解(pos机怎么装纸图片步骤)、本站经过数据分析整理出pos机打印纸怎么安装图解(pos机怎么装纸图片步骤)相关信息,仅供参考!

最近在做一个需要用安卓手机运行印刷机打字打印功能的名字。就目前来说,网上的教程是通过热敏式打字打印机(pos大小的打字打印机)和蓝牙式打字打印机来介绍蓝牙的。很明显,那些教程就算跑通了我每天看到的集合打字印刷机进行打字印刷,也无法实现。

Android不提供任何规范,所以是一个密封的api。参考wps app的打字打印功能,一定要按照wps的计划来写。需要安装打字打印服务插件,比如printershare和我自己的三星、惠普提供的打字打印服务插件。

首先,运行到打字和打印处理器

当pace需要直接处理打字打印流程时,pos机在收到用户乞讨打字打印后,会放置纸质图片。第一步是运行android打字和打印框架,并操作printmanager类示例。这个类承诺你实例化打字和打印课程,并启用打字和打印的生命周期过程。下面的代码显示了如何获取打字和打印处理器并启用打字和打印过程。

私有void onprintpdf() {

print manager print manager=(print manager)getsystem service(context . print _ service);

print attributes . builder builder=new print attributes . builder();

builder . setcolormode(print attributes . color _ mode _ color);

printmanager.print('测试pdf打印',new myprintadapter(this,filepath),builder . build());

}

第二,创造打字和打印合适的平衡物

打字打印权重贯穿android打字打印框架,处理打字打印过程的每一种方法。该过程呼吁用户在创建用于打字和打印的文档文件之前使用打字和打印机以及关系型打字和打印选项。那些过程会影响最终的输入截止日期,就像用户采用不同的打字和打印功能,不同的页面大小和不同的页面目标一样。设置好这些选项后,打字和打印框架将显示适当的权重,并自然地打印文档和文件,为最终的打字和打印做准备。用户按下“打字打印”按钮后,打字打印盒将获取最终的打字打印文档,委托给打字打印供应商进行打字打印。

包com . Android . Guo cheng . print demo;

导入Android . content . context;

导入Android . graphics . bitmap;

导入Android . graphics . canvas;

导入Android . graphics . matrix;

导入Android . graphics . paint;

导入Android . graphics . pdf . pdf document;

导入Android . graphics . pdf . pdf document . pageinfo;

导入Android . graphics . pdf . pdf renderer;

导入Android . OS . bundle;

导入Android . OS . cancellation signal;

导入Android . OS . parcel file descriptor;

导入Android . print . page range;

导入Android . print . print attributes;

导入Android . print . print documentadapter;

导入Android . print . printdocumentinfo;

导入Android . print . pdf . printed pdf document;

导入Java . io . file;

import Java . io . filenotfoundexception;

#p#分页标题# e # import Java . io . file输出流;

导入Java . io . io exception;

导入Java . util . ArrayList;

导入Java . util . list;

/**

*由国诚于2017/6/13创作。

*/

公共类myprintadapter扩展了printdocumentadapter {

私有上下文语境;

private int pageheight

private int pagewidth

私有pdfdocument mpdfdocument

private int total pages=1;

私有字符串pdfpath

私人名单mlist

public myprintadapter(上下文context,string pdfpath) {

this.context=context

this . pdf path=pdf path;

}

@覆盖

public void on layout(print attributes old attributes,printattributes newattributes,cancellation signal cancellation signal,

layoutresultcallback回调,

捆绑元数据){

mpdfdocument=new printed pdf document(context,new attributes);//创建一个可以键入和打印pdf文档文件的东西

page height=new attributes . get mediasize()。iso _ a4 . getheightmills()* 72/1000;//设置大小

page width=new attributes . get mediasize()。iso _ a4 . getwidthmils()* 72/1000;

if(取消信号。已取消()){

回电。onlayoutcancelled();

返回;

}

包裹文件描述符mfile描述符=null

pdfrenderer pdfrender=null

pdfrenderer.page page=null

尝试{

mfiledescriptor=parcelfile描述符。打开(新文件(pdfpath),parcelfile描述符。模式_只读);

if (mfiledescriptor!=空)

pdf render=新的pdf渲染器(mfiledescriptor);

mlist=new ArrayList();

if (pdfrender.getpagecount() 0) {

总页数=pdf渲染。获取页数();

for(int I=0;我pdf渲染。get page count();i ) {

if(null!=第页)

页面。close();

page=pdf渲染。打开第一页;

位图BMP=位图。创建位图(第页。getwidth()* 2,page.getheight()*2,bitmap。配置。argb _ 8888);

page.render(bmp,null,null,pdfrenderer。页面。呈现模式用于显示);

mlist。添加(BMP);

}

}

if(null!=第页)

页面。close();

if(null!=mfiledescriptor)

mfiledescriptor。close();

if (null!=pdfrender)

pdf渲染。close();

} catch(找不到文件异常e){

e。printstacktrace();

} catch (ioexception e) {

e。printstacktrace();

}

如果(总页数为0) {

printdocumentinfo。builder builder=new printdocumentinfo # p #分页标题#e#。构建器('赶快初学. pdf’)。setcontenttype(printdocumentinfo。内容类型文档)。设置页面计数(总页数);//建立文书档案摆设消息

printdocumentinfo info=builder。build();

callback.onlayoutfinished(信息,真);

}否则{

callback.onlayoutfailed('页数为零。);

}

}

@覆盖

写入时公共无效(最终页面范围[]页面范围,最终包裹文件描述符目的地,最终取消信号取消信号,

最终writeresultcallback回调){

for(int I=0;一。总页数;i ) {

if (pageinrange(pageranges,i)) //保护页码精确

{

新页面=新页面信息。构建器(页面宽度、

页面高度,我).create();

pdfdocument.page页面=

mpdfdocument。起始页(新页面);//创造新页面

if(取消信号。被取消()){//废除旗号

回电。onwritecancelled();

mpdfdocument。close();

mpdfdocument=null

返回;

}

绘图页(第一页);//将实质绘制到页面帆布上

mpdfdocument。完成页面(第页);

}

}

尝试{

mpdfdocument.writeto(新文件输出流(

目的地。getfile descriptor()));

} catch (ioexception e) {

回电。onwritefailed(e . tostring());

返回;

}最后{

mpdfdocument。close();

mpdfdocument=null

}

回电。onwritefinished(页面范围);

}

范围内的私有布尔页(页范围[]页范围,int页){

for(int I=0;我页范围。长度;i ) {

if ((page=pageranges[i]).getstart())

(page=pageranges[i].getend()))

返回真实的

}

返回错误的

}

//页面绘制(衬托)

私有void draw页面(pdf文档。page page,int pagenumber) {

画布canvas=页面。get canvas();

如果(mlist!=null){

油漆油漆=新油漆();

位图bitmap=mlist。get(页码);

int bitmapwidth=bitmap。getwidth();

int bitmapheight=bitmap。getheight();

//计划缩放比率

float scale=(float)page width/(float)bitmapwidth;

//获取要缩放的矩阵参数

matrix matrix=new matrix();

matrix.postscale(scale,scale);

canvas.drawbitmap(位图、矩阵、画图);#p#分页标题#e#

}

}

}

结果,我们来看功效图。

您可能希望通过打字和打印服务插件添加打字和印刷机。

更多关于pos机打印纸怎么安装图解(pos机怎么装纸图片步骤)的请关注本站。