用lodop实现打印出并带水印和表格分页每页都显示表头功能。

1、什么是lodop

lodop取意自“load or print”,是一款优秀的Web打印控件,在开发中,传统打印控件总是“页面是什么就只能打印什么”,缺乏灵活性,使打印略显呆板。而使用lodop则可以做到“只看想看的、打印想打的”,不仅开发人员可以自由设置打印输出内容,用户还可对打印内容进行一系列调整。
1、lodop控件目前有简体中文、繁体中文、大五码(big5)和英文几个版本。
2、适用于IE系列浏览器、Firefox系列浏览器和IE内核浏览器(遨游、360、世界之窗、腾讯TT、搜狗等)等各类浏览器。
3、使用lodop作为WEB打印控件的优势:
(1)使用简单,易上手,引入LodopFuncs.js文件通过几个函数的调用就可以实现一项复杂打印任务的开发,极大地减少了打印功能开发量。
(2)网页中的任何内容都是打印输出时的裁减素材,使用JS语句将当前网页中某区域超文本显示在既定打印布局中输出,其在打印布局中的位置既可程序控制,也可由使用者在操作时调整。
(3)各类调整和打印设置等控制内容全部本地自动保存,彻底解决了一个大型软件工程项目中打印机类型繁杂时的精确套打问题。
(4)使用插件技术来实现WEB打印,插件安装方式不仅简单,而且成功率高。
(5)支持样式调整可以把页面显示在打印时调整样式使打印出来另一种效果。

1、下载lodop的demo和文档

从官网下载lodop解压后发现除了两个exe文件一个js文件其他的就是demo文件了。
(1)js文件是不可少的必须引入。
(2)在页面head之间加入发下代码:
<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>

(3)打开LodopFuncs.js修改客户端exe文件路径,主要是href='install_lodop32.exe'和href='install_lodop64.exe'路径(lodop会根据浏览器是32或者64选用对应的安装文件)

(4)调用函数实现打印功能。直接看demo43实现了分页的功能。
function PreviewMytable(){var LODOP=getLodop();  LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_分页打印综合表格");var strStyle="<style> table,td,th {border-width: 1px;border-style: solid;border-collapse: collapse}</style>"LODOP.ADD_PRINT_TABLE(128,"5%","90%",314,strStyle+document.getElementById("div2").innerHTML);LODOP.SET_PRINT_STYLEA(0,"Vorient",3);     LODOP.ADD_PRINT_HTM(26,"5%","90%",109,document.getElementById("div1").innerHTML);LODOP.SET_PRINT_STYLEA(0,"ItemType",1);LODOP.SET_PRINT_STYLEA(0,"LinkedItem",1);   LODOP.ADD_PRINT_HTM(444,"5%","90%",54,document.getElementById("div3").innerHTML);LODOP.SET_PRINT_STYLEA(0,"ItemType",1);LODOP.SET_PRINT_STYLEA(0,"LinkedItem",1);   LODOP.NewPageA();LODOP.ADD_PRINT_TABLE(128,"5%","90%",328,strStyle+document.getElementById("div2").innerHTML);LODOP.SET_PRINT_STYLEA(0,"Vorient",3);    LODOP.ADD_PRINT_HTM(26,"5%","90%",80,document.getElementById("div4").innerHTML);LODOP.SET_PRINT_STYLEA(0,"ItemType",1);LODOP.SET_PRINT_STYLEA(0,"LinkedItem",4);    LODOP.ADD_PRINT_TEXT(460,96,"76.25%",20,"真诚祝您好远,欢迎下次再来!(发货单02的表格外“页脚”,紧跟表格)");LODOP.SET_PRINT_STYLEA(0,"LinkedItem",4);LODOP.SET_PRINT_STYLEA(0,"FontSize",12);LODOP.SET_PRINT_STYLEA(0,"FontColor","#FF0000");LODOP.SET_PRINT_STYLEA(0,"Alignment",2);LODOP.SET_PRINT_STYLEA(0,"ItemType",1);LODOP.SET_PRINT_STYLEA(0,"Horient",3);   LODOP.ADD_PRINT_HTM(1,600,300,100,"总页号:<font color='#0000ff' format='ChineseNum'><span tdata='pageNO'>第##页</span>/<span tdata='pageCount'>共##页</span></font>");LODOP.SET_PRINT_STYLEA(0,"ItemType",1);LODOP.SET_PRINT_STYLEA(0,"Horient",1); LODOP.ADD_PRINT_TEXT(3,34,196,20,"总页眉:《两个发货单的演示》");LODOP.SET_PRINT_STYLEA(0,"ItemType",1);       LODOP.PREVIEW();    };

这里面的函数就不在解释lodop的文件说的非常详细。通过上面的代码就能实现表头固定和分页功能。而水印就比较简单了有两种方式:

(1)页面上设置背景这种方式最简单纯css。
(2)通过lodop函数设置位置来添加水印只需要加上如下代码
<span style="white-space:pre">   </span>LODOP. ADD_PRINT_SETUP_BKIMG("<img border='0' src='print_bg.gif' style='z-index: -1'/>");LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW",1);LODOP.SET_SHOW_MODE("BKIMG_PRINT",1);LODOP.SET_SHOW_MODE("BKIMG_LEFT",660);LODOP.SET_SHOW_MODE("BKIMG_TOP",950);

lodop页面直接打印 水印 分页 套打相关推荐

  1. Vue项目在页面添加水印及在某一个页面去除水印功能

    项目需求 (1)系统内页面出现水印: (2)登录页面没有水印[备注:退出登录时,登录页面不会显示水印**] 创建水印 创建watermark.js文件 # 创建水印功能网上一大把,随便搜一下 'use ...

  2. php 分页 页数多,一个php页面多个分页共存

    PHP 分页 写了个php分页的自定义函数,用着感觉挺好: pageFunc($dataNum,$pageSize,$pageName)//记录集,每页显示的条数,分页名 今天突然在想,如果我一个页面 ...

  3. work02_vue页面打印水印

    前言 项目生成公司水印是很普遍的需求,下面是vue项目生产水印的方法.话不多说,复制粘贴就可以马上解决你的需求 ①. vue页面打印水印[一] ①. 创建watermark.js文件 /** 水印添加 ...

  4. Vue如何给页面加水印(超简单)

    给页面加上水印 用canvas画一张背景图 export default {//tool.jsaddWaterMark() {const strArr = `${localStorage.getIte ...

  5. Lodop页面总提示未安装或请升级的可能原因

    Lodop页面总提示"未安装"或"请升级"的可能原因 1:使用的64位浏览器,但提供给客户安装的Lodop是32位的,反之也一样,Lodop位数要与浏览器位数一 ...

  6. jsoup 获取html中body内容_Java 进阶 利用Jsoup获取HTML页面的各分页中的标题信息...

    简单介绍一下Jsoup Jsoup是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于Xpath,jQuery的操 ...

  7. 在Java生成的html页面加水印,Java在Excel中添加水印的实现(单一水印、平铺水印)...

    在Excel中没有直接添加水印的功能,但依旧可以通过一定方式来实现类似水印效果.本文通过Java程序代码介绍具体实现方法.可添加单一水印效果,即水印是以单个文本字样来呈现:也可添加多个平铺水印效果,即 ...

  8. Bootstrap4+MySQL前后端综合实训-Day07-PM【用户信息管理页面——功能展示(分页显示数据、添加用户、批量删除用户、编辑用户信息)、servlet项目代码整理汇总】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 页面展示 分页显示数据 添加用户信息 (单个/批量)删除用户 编辑 ...

  9. 解决博易博客后台文章管理页面无法显示分页的问题

    升级blogyi2.0以后我发现文章管理页面找不到分页的功能,于是我换了几个浏览器查看了一下,火狐或谷歌浏览器可以看到分页功能的.这很明显是后台css样式的问题.通过谷歌浏览器测试了一下,找到了分页功 ...

最新文章

  1. mysql存储过程结构体_八、mysql视图、存储过程、函数以及时间调度器
  2. 牛客 - 汉诺塔(思维+dp)
  3. 认证服务器的搭建_SpringCloud搭建的认证中心和资源服务器的微服务项目源码分享...
  4. python 画蜘蛛_如何学习 R 绘图?
  5. readdir函数_PHP readdir()函数与示例
  6. 解决Linux 忘记root 密码的办法
  7. 虚拟机变更网卡MAC地址后的网络连接
  8. jmeter之使用代理录制脚本
  9. vue中npm run dev运行项目不能自动打开浏览器! 以及 webstorm跑vue项目jshint一直提示错误问题的解决方法!...
  10. 多终端房地产项目管理系统源码,源码分享
  11. UE4编辑器语言设置-中英对照
  12. SOA架构中企业数据总线(ESB)和微服务架构中注册服务管理(dubbo)的区别
  13. linux dd 克隆很慢,使用dd命令进行SD卡克隆
  14. PHP数组关于数字键名的问题
  15. TopCoder 详细规则入门(灰常实用)
  16. H5,Audio音乐播放器(移动版)
  17. python windows 解决 cl.exe 的问题
  18. cropper基本用法(裁剪图片)
  19. SHIB 的供给被篡改,更大问题的征兆。
  20. 什么是「区块链技术」、区块链又是什么?

热门文章

  1. USB HID 多设备检查工具,使用USB Tree View源码修改而来
  2. 电脑管理员密码忘记后修改方式
  3. 结构方程模型(SEM)高阶应用及建模
  4. 微信电商生态化初现端倪
  5. 八大理由告诉你,微信电商为什么走不通
  6. 自动控制原理学习笔记(二)
  7. 各类NFC卡片数据分析辅助工具集
  8. 线程的死锁、活锁和饥饿现象
  9. 腾讯首款战争策略手游「乱世王者」的兼容测试之路
  10. 0x3f3f3f3f含义与优势