Android设备打印比较麻烦,一般设备厂商都提供原生app开发的SDK,我们web开发者为难了,不会原生开发啊

给大家提供一个思路,实现web加壳,利用打印浏览器实现

简单来说就是把我们的web页面嵌入浏览器中

web页面的打印功能通过js与浏览器互动

浏览器通过调用硬件SDK实现打印

1、机器安装最新SDK,已安装请忽略

2、下载安装本页下载连接中的打印浏览器并安装

3、对照下方事例代码,修改web页面打印功能

4、打印浏览器中打开web页面,测试打印功能

5、默认主页可以在SD卡根目录修改homepage.txt中的网址

*以上所有步骤必须在智谷联产品上使用,详情咨询销售工程师

 

 

软件支持android网页打印工具,安卓网页打印工具,h5页面打印,浏览器打印,js打印工具

web页面按照如下事例,修改打印函数代码,调用打印API即可完成打印功能

<html>
<head>
    <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm.min.css">
    <script type='text/javascript' src='//g.alicdn.com/sj/lib/zepto/zepto.min.js' charset='utf-8'></script>
    <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm.min.js' charset='utf-8'></script>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
        div {
            margin: 5px 0;
        }         input {
            width: 49%;
            height: 45 px;
            margin-right: 1%;
            margin-bottom: 1%;
        }         #tipinfo {
            font-size: 15px;
            color: rgb(255,0,0);
            font-style: italic;
            height: auto;
        }
    </style>
    <script type="text/javascript">         function javacalljs() {
            document.getElementById("tipinfo").innerHTML =
                "<br\>JAVA调用了JS的无参函数";
        }         function javacalljswith(arg) {
            document.getElementById("tipinfo").innerHTML = (arg);
        }
    </script>
</head>
<body>
    <header class="bar bar-nav">
        <h1 class='title'>网页打印演示</h1>
    </header>
    <div class="content">
        <div class="content-padded grid-demo">             <div id="tipinfo">打印机状态</div>
            <div class="item-content">
                <div class="item-media"><i class="icon icon-form-comment"></i></div>
                <div class="item-inner">
                    <div class="item-title label">输入打印内容</div>
                    <div class="item-input">
                        <textarea id="inputtxt">打印内容测试,一维码生成请输入数字</textarea>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-50">
                    <input type="button" class="button button-fill" value="生成二维码" onclick="window.android.createQRCode(document.getElementById('inputtxt').value)" />
                </div>
                <div class="col-50">
                    <input type="button" class="button button-fill" value="生成条码" onclick="window.android.createBarCode(document.getElementById('inputtxt').value)" />
                </div>
            </div>
            <div class="row">
                <div class="col-50">
                    <input type="button" class="button button-fill" value="打印文本" onclick="window.android.printText(document.getElementById('inputtxt').value)" />
                </div>
                <div class="col-50">
                    <input type="button" class="button button-fill" value="打印Unicode" onclick="window.android.printUnicode('hello, begin to smart print!')" />
                </div>
            </div>
            <div class="row">
                <div class="col-50">
                    <input type="button" class="button button-fill" value="选择图片" onclick="window.android.selectPic()" />
                </div>
                <div class="col-50">
                    <input type="button" class="button button-fill" value="打印图片" onclick="window.android.printPic()" />
                </div>
            </div>
            <div class="row">
                <div class="col-50">
                    <input type="button" class="button button-fill" value="打印网络图片" onclick="window.android.printNetPic()" />
                </div>
                <div class="col-50">
                    <input type="button" class="button button-fill" value="打印模板二" onclick="window.android.printStyleTwo()" />
                </div>
            </div>
            <div class="row">
                <div class="col-50">
                    <input type="button" class="button button-fill" value="打印模板一" onclick="window.android.printStyleOne()" />
                </div>
                <div class="col-50">
                    <input type="button" class="button button-fill" value="打印模板三" onclick="window.android.printStyleThree()" />
                </div>
            </div>
            <div class="row">
                <div class="col-50">
                    <input type="button" class="button button-fill" value="获取打印机状态" onclick="window.android.getPrintStatus()" />
                </div>
            </div>
        </div>
    </div>
</body>
</html>
												

android网页打印,安卓网页打印,h5页面打印,浏览器打印,js打印工具的更多相关文章

  1. 安卓Native和H5页面进行交互

    安卓Native和H5页面进行交互 1.H5页面调用安卓Native界面 1)通过给webView添加JsInterface,安卓提供接口,让H5来进行调用    a)安卓写一个类,里面的方法需要用通 ...

  2. 安卓 apk 嵌入H5页面只显示部分

    安卓 apk 嵌入H5页面只显示部分(有空白页出现) 解决方案 没有加载的是js部分,需要在安卓那边加上一串代码 webView.getSetting().setDomStorageEnabled(t ...

  3. h5页面在浏览器上好好的,到手机上熄火了又看不到报错信息怎么办?

    背景 最近小编接了一个新需求,用h5开发页面,通过webview嵌入原生APP中,自己在浏览器上开发爽歪歪,什么信息都能看到,可是一嵌入原生app中,瞬间就熄火了,啥也看不到了,不知道为什么,反正就是 ...

  4. Android原生同步登录状态到H5网页避免二次登录

    本文解决的问题是目前流行的 Android/IOS 原生应用内嵌 WebView 网页时,原生与H5页面登录状态的同步. 大多数混合开发应用的登录都是在原生页面中,这就牵扯到一个问题,如何把登录状态传 ...

  5. H5页面测试总结

    前言 在最近几个项目中,小编接触了较多关于H5页面的测试,H5页面的测试除了业务逻辑功能测试外,其他部分的测试方法基本是可以通用的,在此对H5页面的一些通用测试方法进行总结分享给大家. H5页面介绍 ...

  6. 本地调试H5页面

    摘要 详细讲述微信H5页面调试(安装在安卓或iOS手机上的),钉钉内H5页面的调试,QQ.微博以及各浏览器上H5页面的调试方法 背景 大学毕业快要一年了,用leader的话说我也是有一年开发经验的前端 ...

  7. A4纸网页打印 html网页页面的宽度设置成多少

    A4纸竖向打印,html网页页面的宽度设置成多少?这个问题是我们大家所疑惑的,于是网上搜集整理下,希望可以帮助你们 最近开发项目时遇到了网页打印的问题,这是问题之二,打印宽度设置 在公制长度单位与屏幕 ...

  8. 使用jqPrint.js调用浏览器打印界面,打印网页中的某一部分该部分含有ECharts图表

    1.准备好js文件(我用的是谷歌浏览器) 这个文件是为了防止你的jQuery版本过高而不适配的问题 这是调用浏览器打印的js插件 2.引入js文件 <script src="js/jq ...

  9. H5页面在微信中禁止下拉露出网页

    H5页面在微信中禁止默认事件的执行,js添加代码 $(function () { /************微信h5页面禁止下拉露出网页来**************/ $('body').on('t ...

随机推荐

  1. JSON库的使用研究(二)

    Java 中哪个 JSON 库的解析速度是最快的? 这个问题有意义吗?各个JSON库的性能差距不大?呵呵,差距大不大,自己往下看吧! 这个问题我们应该分为以下四个维度进行研究: 1.序列化 2.反序列 ...

  2. 安装mono和monoDevelop开发环境

    我之前用的是Ubuntu10.12版本的linux,一直被软件更新包困扰,总是保存缺少依赖包的问题!总之在网络上找到的软件更新包地址都不能解决问题.后来就用了比较新的TLS版本Ubuntu14.04. ...

  3. MongoDB分片详解

    分片是MongoDB的扩展方式,通过分片能够增加更多的机器来用对不断增加的负载和数据,还不影响应用. 1.分片简介    分片是指将数据拆分,将其分散存在不同机器上的过程.有时也叫分区.将数据分散在不 ...

  4. java ReentrantLock

    介绍 ReentrantLock称为重入锁,比内部锁synchonized拥有更强大的功能,它可中断.可定时.设置公平锁 [注]使用ReentrantLock时,一定要释放锁,一般释放放到finnal ...

  5. .NET ThreadPool算法

    .NET ThreadPool相关算法记录 1.ManagedThreadPool (corefx) .net4.0之前只有全局队列,为了解决全局队列多线程竞争使用问题,引入work-stealing ...

  6. nginx部署django应用

    Django部署方式有很多种,之前写过一篇部署在Apache上的博文:https://www.cnblogs.com/shenh/p/7552722.html .下文介绍的是通过Nginx来部署. N ...

  7. backbond Model实现

    backbond中的M,指的是模型,即存放数据以及数据相关逻辑的单位.在分析其结构之前,先看一下其调用过程. <script> (function ($) { World = Backbo ...

  8. JVM(二)—— 类加载机制

    问题 1.为什么要有类加载机制(类加载机制的意义是什么) 2.类加载机制的过程,这些步骤可以颠倒顺序么?,每个步骤的作用是什么? 3.什么情况下必须对类进行初始化 类加载的过程 加载--验证--准备- ...

  9. C# 转换关键字 operator

    operator 使用 operator 关键字重载内置运算符,或在类或结构声明中提供用户定义的转换. 假设场景,一个Student类,有语文和数学两科成绩,Chinese Math,加减两科成绩,不 ...

  10. C# 可访问性不一致问题(修改成员的访问修饰符)。

    错误实例一:父类的访问性低于子类 class Person { } public class Students:Person { } 错误实例二:方法的访问修饰符需要和参数的类型的访问修饰符一致 cl ...