精华内容
下载资源
问答
  • 2018-08-13 14:23:23

    web页面调用打印机不预览直接执行打印

     

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@include file="/context/mytags.jsp"%>
    <!DOCTYPE html>
    <html>
      <head>
        
        <title>打印页面</title>
        
    
      </head>
      
      <body>
    
    <script language="javascript" src="${webRoot}/plug-in/printlodop/LodopFuncs.js"></script>
    <object  id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> 
           <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed>
    </object>
    
    <a href="javascript:bai_print1()">打印预览1</a>
    <a href="javascript:bai_print2()">打印预览2</a>
    <a href="javascript:bai_print3()">打印预览3</a>
    <a href="javascript:bai_print4()">打印预览4</a>
    
    <div id="printcontent" style="display: none;">
    <img border="0" src="aaa-png.png">
    </div>
    
    
    <script language="javascript" type="text/javascript">   
        var LODOP; //声明为全局变量 
    	function bai_print1(){
    		LODOP=getLodop();  
    		LODOP.PRINT_INIT("打印常用证明1");
    		LODOP.ADD_PRINT_HTM(0,0,"100%","100%",document.getElementById("printcontent").innerHTML);
    		//LODOP.PREVIEW();
    		LODOP.PRINT();	
    	};
    	function bai_print2() {		
    		var LODOP=getLodop(); 		
    		LODOP.PRINT_INIT("打印常用证明2");
    		var strHTML="<body style='margin:0;background-color: white'>"+document.getElementById("printcontent").innerHTML+"</body>";
    		LODOP.ADD_PRINT_HTM("0mm",0,"RightMargin:0.1cm","BottomMargin:1mm",strHTML);
    		LODOP.PREVIEW();			
    	};	
    	function bai_print3() {	
    		LODOP=getLodop();  	
    		LODOP.PRINT_INIT("打印常用证明3");
    		LODOP.ADD_PRINT_IMAGE(0,0,"100%","100%",document.getElementById("printcontent").innerHTML);
    		LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//按原图比例(不变形)缩放模式
    		LODOP.PREVIEW();		
    	};	
    	function bai_print4() {	
    		LODOP=getLodop();  	
    		LODOP.PRINT_INIT("打印常用证明3");
    		LODOP.ADD_PRINT_IMAGE(0,0,"100%","100%",document.getElementById("printcontent").innerHTML);
    		LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//按原图比例(不变形)缩放模式
    		LODOP.SET_PRINT_COPIES(5);
    		//LODOP.PREVIEW();
    		LODOP.PRINT();	
    	};					
    </script> 
    
      </body>
    </html>
    

     

    更多相关内容
  • web页面调用的打印,包含可实现整页打印,区域打印,选择打印三种方法,直接复制可用(缺点:格式不好控制,建议使用插件打印或PDF打印,详见本人其他分享)
  • 前言 在使用selenium处理浏览器功能时,无法正常检测到或无法定位到你想处理的功能。 而浏览器的启动参数可以...#设置打印机的纸张大小、打印类型、保存路径等 chrome_options = webdriver.ChromeOptions() settings =

    前言

    在使用selenium处理浏览器功能时,无法正常检测到或无法定位到你想处理的功能。
    而浏览器的启动参数可以帮我们实现很多功能。

    点击查看——Chrome浏览器启动命令行参数大全

    功能详情

    代码如下(示例):

    # -*- coding: UTF8 -*-
    import json
    from selenium import webdriver
    
    
    #设置打印机的纸张大小、打印类型、保存路径等
    chrome_options = webdriver.ChromeOptions()
        settings = {
            "recentDestinations": [{
                "id": "Save as PDF",
                "origin": "local",
                "account": ""
            }],
            "selectedDestinationId": "Save as PDF",
            "version": 2,
            "isHeaderFooterEnabled": False,
    
            # "customMargins": {},
            #"marginsType": 2,#边距(2是最小值、0是默认)
            # "scaling": 100,
            # "scalingType": 3,
            # "scalingTypePdf": 3,
            #"isLandscapeEnabled": True,  # 若不设置该参数,默认值为纵向
            "isCssBackgroundEnabled": True,
            "mediaSize": {
                "height_microns": 297000,
                "name": "ISO_A4",
                "width_microns": 210000,
                "custom_display_name": "A4"
            },
        }
    
        chrome_options.add_argument('--enable-print-browser')
        # chrome_options.add_argument('--headless') #headless模式下,浏览器窗口不可见,可提高效率
        prefs = {
            'printing.print_preview_sticky_settings.appState': json.dumps(settings),
            'savefile.default_directory': 'C:\\Users\\admin\\Desktop'  # 此处填写你希望文件保存的路径,可填写your file path默认下载地址
        }
    
        chrome_options.add_argument('--kiosk-printing')  # 静默打印,无需用户点击打印页面的确定按钮
        chrome_options.add_experimental_option('prefs', prefs)
    
        driver = webdriver.Chrome("../chromedriver.exe", options=chrome_options)
        driver.get('https://www.cnblogs.com/new-june/p/14509601.html')
        driver.maximize_window()#浏览器最大化
        driver.execute_script(
            'document.title="my_test_file3.pdf";window.print();')  # 利用js修改网页的title,该title最终就是PDF文件名,利用js的window.print可以快速调出浏览器打印窗口,避免使用热键ctrl+P
        # driver.close()#关闭当前页
        driver.quit()
    

    点击查看——Chrome浏览器启动命令行参数大全

    展开全文
  • web页面调用打印机 静默打印
    	因为之前被实施商的前端童鞋理直气壮的卡了脖子告诉我写不出来,让我很不爽,所以还是搜集了一些资料最终测试成功了。
    	注意一下这个只能在IE10及以上的IE内核环境下可用(我只测试了这个环境,但是IE是没跑了,别的浏览器要用IE兼容模式才行),前提是安装了Adobe Reader插件,这个可以去官网下载。
    	下面就直接甩代码了,没啥可解释的……
    
    <!DOCTYPE html>
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    <script type="text/javascript">
        
    function directpdfprint1() {   
        try { 
            var prt = document.getElementById("ob");    
            prt.printAllFit(1); 
        } catch (e) { 
            alert("未安装adobe reader插件,请联系管理员安装!");  
        }
    }
    window.onload = function () {
        directpdfprint1() 
    } 
    </script>
    <head>
    
    
    </head>
    <body>  
    <div>
        <OBJECT id="ob" width="0" height="0" border="0" CLASSID="CLSID:CA8A9780-280D-11CF-A24D-444553540000">
            <param name="SRC" value="http://localhost:9000/1.pdf"> 
        </OBJECT>
    </div>
    </body>
    

    上述代码可实现web静默打印(页面加载后自动执行),由于我一直也没有找到动态加载组件src属性的方法,所以选择了将页面由后端直接生成代码,并通过response直接回写,在回写过程中由后端对src进行修改达成动态效果。

    @GetMapping("/test")
    public void test(HttpServletRequest request , HttpServletResponse response) throws IOException {
        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");
        PrintWriter out = response.getWriter();
        out.write("<!DOCTYPE html>\n" +
                "<script src=\"https://code.jquery.com/jquery-3.1.1.min.js\"></script>\n" +
                "<script type=\"text/javascript\">\n" +
                "    \n" +
                "function directpdfprint1() {   \n" +
                "    try { \n" +
                "        var prt = document.getElementById(\"ob\");    \n" +
                "        prt.printAllFit(1); \n" +
                "    } catch (e) { \n" +
                "    \talert(\"未安装adobe reader插件,请联系管理员安装!\");  \n" +
                "    }\n" +
                "}\n" +
                "window.onload = function () {\n" +
                "    directpdfprint1() \n" +
                "} \n" +
                "</script>\n" +
                "<head>\n" +
                "\n" +
                "</head>\n" +
                "<body>  \n" +
                "<div>\n" +
                "    <OBJECT id=\"ob\" width=\"0\" height=\"0\" border=\"0\" CLASSID=\"CLSID:CA8A9780-280D-11CF-A24D-444553540000\">\n" +
                "        <param name=\"SRC\" value=\"");
                //业务中可以动态替换30行数据
        out.write("http://localhost:9000/3.pdf");
        out.write("\"> \n" +
                "    </OBJECT>\n" +
                "</div>\n" +
                "</body>\n" +
                "<style type=\"text/css\">\n" +
                "    .one{\n" +
                "        transform:rotate(90dge);\n" +
                "    }\n" +
                "</style>");
        out.flush();
    
    }
    
    	好了,就是这样=。=   
    	注意这个只会使用用户本地设置的默认打印机。
    	拜拜
    
    展开全文
  • web打印三种实现方式

    千次阅读 2021-04-09 16:26:23
    web打印的方式可以分为3种:1、window.print()直接调用浏览器;2、利用js插件调用浏览器打印;3、利用第三方插件直接调用打印机。3种方式各有不同的使用场景和灵活度,接下来进行探讨比较

    web打印的方式可分为三种:

    1. 直接调用浏览器打印
    2. 通过javascript插件调用浏览器打印
    3. 通过第三方程序直接调用打印机

    一、直接调用浏览器打印

    通过在javascript代码中调用window.print()函数实现,浏览器会自动获取当前页面内容,并打开浏览器的打印预览页面。

    使用场景:刚好当前页面的全部内容需要打印。

    优点:兼容性好

    缺点:适用场景狭窄;仅能识别内联样式,无法识别行内样式和外部样式

    不推荐

    二、利用第三方js库

    比较推荐的是Print.js,目前GitHub上star最多的js打印控件,支持ES6,npm引入。

    使用场景:只要没有直接打印的需求的场景,都可以使用这款插件

    优点:

    1. 支持打印的类型多:PDF、HTML、IMAGE、JSON
    2. 支持行内样式与外联样式,再也不用在DOM元素上写满样式了
    3. 兼容性好,除了IE不支持PDF和IMAGE打印外,其余主流浏览器全部支持

    缺点:

    1. 可能出现的样式异常
    2. 无法直接打印/静默打印,因为是调用chrome打印,还是会弹出打印预览页面

    使用方法:  

    1. 安装,npm方式:
    npm install print-js --save

    yarn方式: 

    yarn add print-js

     2. 在需要使用的文件中引入:

    import print from 'print-js'

     3. 调用打印,以打印html为例,调用打印方法后浏览器会弹出打印预览页面:

    import * as medicalStyle from '@/assets/style/eye/medical/standard.css'
    import print from 'print-js'
    ...
    /**
     * 打印方法
     */
    printMedical () {
     // 调用打印插件,配置项参考官网:https://printjs.crabbly.com/
     print ({
            // printable为需要打印的DOM的id
            printable: 'standard',
            // type为需要打印的类型
            type: 'html',
            // css为样式文件或者直接css样式,支持导入整个css文件,或者css文件数组
            css: medicalStyle,
            // 可选项,这样配置意味着应用所有导入的css文件
            targetStyles: ['*']
          })
    }

    三、利用第三方插件LODOP

    LODOP是老牌打印插件了,功能十分强大,同时也在与时俱进,原先老版本是以插件形式提供打印服务,目前官方也发现随着浏览器不断更新,兼容性有问题,开发了新的C-Lodop程序,解决了浏览器的兼容问题,

    适用场景:对打印有较多配置要求,尤其需要直接打印的场景

    优点:

    1. 支持直接打印
    2. 支持打印类型丰富:HTML、TABLE、URL、TEXT、文档模板
    3. 配置项十分丰富,大到是否显示打印预览,小到分页设置、边框设置等等
    4. 兼容性好,除了兼容各类浏览器外,甚至还有LINUX版本

    缺点:

    1. 直接打印功能需要付费解锁,但价格不算离谱,210RMB起
    2. 需要单独下载exe安装到电脑上,不过也没办法,能实现如此强大的打印功能,只有此途径
    3. 只支持内联样式,样式只能卸载DOM元素上

    使用方法(window操作系统):

    1. 下载插件

    建议只安装红圈中云打印程序。更详细的区别请看官网的介绍文档

       2. 将LodopFuncs.js拷贝至项目目录下,例如我是放在src/asserts/printPlugin目录下,在文件底部添加导出语句

       3. 在页面中使用:

    ...
    // 导入打印插件
    import { getLodop } from '@/assets/printPlugin/LodopFuncs'
    ...
    // 打印方法
    printMedical () {
          // 获取打印对象
          const LODOP = getLodop()
          // 打印初始化
          LODOP.PRINT_INIT('打印任务名')
          // 设定纸张大小,指定需要打印的DOM元素
          LODOP.ADD_PRINT_HTM(0, 0, '100%', '100%', document.getElementById('standard').innerHTML)
          // 执行打印-直接打印
          LODOP.PRINT()
        }

    以上是最简打印配置,有其他需要可以参考官方文档

    展开全文
  • JS 调用 FR 打印方法

    2021-04-30 03:20:49
    JS 打印接口:FR.doURLPrint(config),使用 get 传参,具体 config 参数如下表所示:参数含义printurl需要打印的模板的应用地址和服务,如"http://localhost:8075/webroot/decision/view/report"允许为空。...
  • Python Web自动化测试入门与实战

    千次阅读 2020-12-20 13:11:09
    PYTHON基础2.1 基础语法2.1.1 打印2.1.2 编码2.1.3 数据类型2.1.4 变量2.1.5 注释...
  • html 自动打印 Lodop+html+pdf.js html 代码 <canvas id="the-canvas" style="display:none;"></canvas> js代码 PDFJS.getDocument(pdfUrl).then(function getPdfHelloWorld(pdf) { p...
  • 平常浏览网页和文档的时候,随处可见打印两个字,有时候不小心点到,就会弹出一个打印的页面,如果连接了打印机,可以直接调用到打印机进行真实的打印。做为开发人员我们在网页开发过程中经常会有打印页面的需求,...
  • 作为Web开发的同僚们,估计都有一个共同的烦恼,Web端为什么不能够像 CS端那样直接打印预览?直接移除掉打印预览界面不就可以了? 真实情况是Web端受限于浏览器的权限,无法直接访问打印机等本机资源。所以,在Web上...
  • 做ERP的时候遇到个报表设计以及打印功能实现,客户的需求大致是:客户端电脑可以直接修改报表模板,点击打印按钮直接调用默认打印机打出报表。免去预览以及打印机设置如设置纸张大小,页眉之类。。。因为客户需要...
  • BarTender Web Print Server (WPS) 是一个ASP.Net应用程序,提供了基于浏览器的界面,用于标签选择和打印。普通 PC、非 Windows 计算机、甚至手持 PDA 上的浏览器用户均可轻松浏览和选择标签格式,然后将其提交给在 ...
  • 需求描述:将WebView渲染出来的内容转化为PDF文件打印 关于内容转为文件打印,google一下,文章还是有很多的,这里简单的贴一下 app/build.gradle 添加 implementation “com.linkedin.dexmaker:dexmaker:2.28.1...
  • 将python代码打印pdf

    2021-02-02 23:53:54
    利用反射调用方法时,处理ref,out参数需要注意的问题(转)转自:http://www.68idc.cn/help/buildlang/ask/20150318283817.html 项目中如下的泛型方法,因为要在运行时,动态指定类型参数,所以要利用反射来实现 ...Outer...
  • 这几天找WEB打印控件,要么收费的,要么免费的只能在IE里用! 我只想简单的打个标签纸!百度2天,看到一老兄说可以用PDF,然后又开始百度..找到了一篇文章 http://www.jianshu.com/p/d518d0988621 本文代码全部摘抄至这...
  • 以电商公司为例,电商平台是目前互联网重要的交易平台,web打印多为业务场景的打印需求,比如直接打印,无预览直接打印,特定格式打印打印标签、面单、票据、零售小票等)其难度在于如何将需要打印的内容,精确套...
  • 最近,客户有个需求过来,Web端无预览打印,美其名曰:快捷打印。当时第一反应就是找插件,拿来主义永远不过时。找了一圈发现,免费的有限制,没限制的需要收费(LODOP真的好用)。说来就是一个简单的无预览打印,收费...
  • 调用斑马打印机实现标签打印

    千次阅读 热门讨论 2020-04-01 15:25:33
    Java 调用斑马打印机实现标签打印代码实现 最近的一个项目中,需要实现java调用斑马的打印机实现标签打印功能,百度了一些资源,找了不少人搞了一台快报废的斑马105SL 300DPI打印机,分分钟就搞出来了,不过要想调试...
  • 兼容所有浏览器的Web打印控件的设计方案   设计方案的简单实现网址:http://www.lc-simple.com/PrintTest/   第一章:Web打印控件的原理  Web打印控件的工作的原理如下: 在需要打印的客户端电脑(操作系统...
  • 功能描述: 在二手车项目中需要实现一个自动打印的功能。将打印的设置在java代码中写好,直接调用打印机打印,不需要有打印设置的页面。这里我使用的是Java自带的方式,一开始是打印pdf,但是由于公司的打印机不能...
  • 以chrome浏览器为例,浏览器自身可以设置静默打印(亲测有效) 操作系统:windows10 chrome版本: 76.0.3809.100(正式版本) (32 位) 需求 在浏览器中点击打印按钮(自定义),不需要每次点击chrome的打印预览...
  • python 全自动打印网站

    2021-10-30 12:38:16
    python 全自动打印网站项目介绍开始部署项目导入pywin32,os,flask库源代码花生壳内网穿透创建一个保存打印文件的目录运行项目说明打印机高级选项设置 项目介绍 win32print可以打开打印机,进行打印操作,以及一些...
  • 1.4.1 调用函数 1.4.2 使用date()函数 1.5 访问表单变量 1.5.1 简短、中等以及长风格的表单变量 1.5.2 字符串的连接 1.5.3 变量和文本 1.6 理解标识符 1.7 检查变量类型 1.7.1 PHP的数据类型 1.7.2 类型强度...
  • js调用HttpPrinter(web打印插件)

    千次阅读 2019-06-07 23:11:47
    js调用HttpPrinter(web打印插件) 对比了 康虎云报表 lodop 后 选择了 HttpPrinter (原因: 功能免费 只有源码收费) demo地址:https://www.lanzous.com/b743805 js代码如下,base64的部分已经精简: <!DOCTYPE ...
  • 对于项目开发中使用到打印的地方会非常多,在.NET项目中,选择打印的方式比较多,例如原始的IE网页打印、水晶报表、JS插件实现打印、导出文档打印,以及今天提到的使用itextSharp组件实现PDF打印等等。 在.NET中...
  • Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现复杂打印。控件功能强大,却简单易用,所有调用如同JavaScript扩展语句,主要接口函数如下:●PRINT_INIT...
  • 【能加加】网页打印插件是一款面向网页浏览器的Web打印代理软件,支持跨平台(Windows/Linux/MacOS)、适配各种浏览器。插件提供了精简灵活的API,浏览器与代理软件的交互均通过Javascript API完成。 1. 引入...
  • 初次实践:python网页自动截图 步骤如下: (1) 安装python selenium 库,推荐使用pip快速安装最新版本 pip install selenium (2) 检查Chrome浏览器的版本,下载对应版本的chromedriver。 (3) 通过地址栏里...
  • PdfFactory(虚拟打印机)

    2021-08-09 00:11:42
    功能介绍创建 PDF打印到纸上: 仅 pdfFactory 允许不用打印两次而打印到纸上和 PDF 文件中。打印不需要 Acrobat。多个文档整合到一个 PDF 文件中:通过创建一个包含多个内容的单独的 PDF 文件,增加了交换...
  • 报表打印技术-web打印

    千次阅读 2016-12-26 21:17:49
    1.第一种方法:打印指定框架中的内容  此方法可以控制具体的打印内容   点击参考 2.第二种方法:通过CSS样式打印表格  CSS样式打印控制的是指定表格的背景,不能控制表格内容的输出。  主要会用到CSS样式的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,049
精华内容 4,019
关键字:

web自动调用pdf打印

友情链接: Nois_core.rar