LODOP打印超文本保留背景色带平铺水印
前面的博文:LODOP中设置设置图片平铺水印,超文本透明、 介绍过 ,如果不想去掉超文本的背景色,想在超文本背景色和超文本内容文字之间加上水印,让水印在背景色上面,文字下面,是不行的,因为平铺的图片和超文本是两个打印项,不可能将水印图片放到内容和背景色之间。
但是如果有这个需求,文字部分有背景色,也有平铺整个纸张的图片,如果只是用LODOP的图片输出打印,和超文本打印项这样 ,是实现不了的,要么是有背景色的超文本打印项覆盖图片,要么是图片覆盖超文本。因为两个都是不透明的,两个的言行肯定会相互覆盖。
个人想到的方法,1.让水印图片在最上层,让白色部分透明,类似在文字上盖章的公章打印。(但是这样,如果水印图片不透明的部分肯定会覆盖部分文字,如果本身水印不透明的较少,不影响阅读,还是可以的)(有的打印机不支持该种透明,有的虚拟打印机也不支持,注意需要实际测试)
2.用合成图,如果内容比较固定,可以给超文本去掉背景色,然后用水印和背景色的合成图,这种水印可以实现水印在背景色之上的类似效果。关于合成图,之前也有个博文(Lodop打印控件 打印透明图问题)
测试代码:
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<style>#p{background-color:#bbf1f2;padding:20mm;width:60mm;height:60mm;</style>
<body>
<div id="printN">
<div id="p">
官网样例是混合部署LodopFuncs.js里已经写好了判断。
客户端是浏览器支持np插件,是32位浏览器,就会提示下载32位的Lodop插件:install_lodop32.exe
客户端浏览器支持np插件,是64位浏览器,就会提示下载64位的Lodop插件:install_lodop64.exe
客户端浏览器不支持np插件(判断如高版本谷歌火狐等),会提示下载C-Lodop方式: CLodop_Setup_for_Win32NT.exe
</div>
</div>
<a href="javascript:prn1_preview()">打印预览(不去除背景色,水印在文字上层,只去白色背景)</a><br>
<a href="javascript:prn2_preview()">打印预览 不可变形缩放(去掉背景色,背景色和水印合成图,文字带有背景色)</a>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
var styleN="<style>#p{background-color:#bbf1f2;padding:20mm;width:60mm;height:60mm;</style>";
LODOP.ADD_PRINT_HTM(0,0,"100%","100%",styleN+document.getElementById("printN").innerHTML);
LODOP.ADD_PRINT_IMAGE(0,0,"100mm","100mm","<img transcolor='#FFFFFF' src='./sy.png'>");//白色转透明
LODOP.SET_PRINT_STYLEA(0,"Repeat",true);
LODOP.PREVIEW();
};
function prn2_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.ADD_PRINT_IMAGE(0,0,"210mm","297mm","<img src='bg.png'>");//合成图
//LODOP.SET_PRINT_STYLEA(0,"Repeat",true);
var styleN="<style>#p{padding:20mm;width:60mm;height:60mm;</style>";
//var styleN2="<style>#p{background-color:transparent;padding:20mm;width:60mm;height:60mm;</style>";
//或加css样式,background-color:transparent;,背景色透明
LODOP.ADD_PRINT_HTM(0,0,"100%","100%",styleN+document.getElementById("printN").innerHTML);
LODOP.PREVIEW();
};
</script>
</body>
图示:
LODOP没有办法在把一张水印图片插入一个超文本打印项的内容和背景色之间,两个打印项只会相互覆盖,只能用其他方法处理。
图中的合成图,把被背景色P到背景图上,合成一张平铺的背景图,这样效果类似,也不会遮挡文字。

LODOP打印超文本保留背景色带平铺水印的更多相关文章
- LODOP打印超文本字符串拼接2 单选选择css样式表格
之前的相关字符串拼接的博文:LODOP打印超文本字符串拼接1 固定表格填充数值之前博文介绍过,字符串可以随意拼接,只要最后组织成的字符串是自己需要的超文本就可以了,前面还有一篇也是拼接样式的:Lodo ...
- ie8下背景图片平铺问题
IE9+及其他浏览器实现背景图片平铺可能需要一个属性就可以background-size:100%/cover; 但是ie8下background-size是不兼容的,因此我们需要用到滤镜,来解决背景 ...
- CSS背景100%平铺 浏览器缩小背景显示不全解决办法
本文我们分享前端CSS背景100%平铺,浏览器缩小背景显示不全bug解决的两个方法,如果你也遇到了,那么就可以参考下面文章. 把浏览器的窗口缩小时,拖动滚动条时你会发现原本设定的CSS背景100%平铺 ...
- Duilib技巧:背景图片平铺
贴图的描述 方式有两种 // 1.aaa.jpg // 2.file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0 ...
- CSS背景横向平铺BUG,解决方法
给定DIV一个背景图片横向平铺,缩小浏览器,拉动横向滚动条,此时触发此BUG:背景图片平铺不完整 解决办法: 1.把背景图片写在BODY上,此办法局限于没有使用iframe的情况下,所以少用 2.设定 ...
- php 给图片增加背景平铺水印代码
如果你想利用php 给图片增加背景平铺水印效果话,必须利用php的一个插件来实例,就是利用imagick,他可以给图片增加背景平铺水印效果哦,下面我们提供一款实例代码. 如果你想利用php教程 给图片 ...
- Java 在Excel中添加水印(单一水印、平铺水印)
在Excel中没有直接添加水印的功能,但依旧可以通过一定方式来实现类似水印效果.本文通过Java程序代码介绍具体实现方法.可添加单一水印效果,即水印是以单个文本字样来呈现:也可添加多个平铺水印效果,即 ...
- canvas实现平铺水印
欲实现的水印平铺的效果图如下: 从图上看,应该做到以下几点: 文字在X和Y方向上进行平铺: 文字进行了一定的角度的旋转: 水印作为背景,其z-index位置应位于页面内容底部, 即不能覆盖页面主内容: ...
- LODOP中设置设置图片平铺水印,超文本透明
之前的博文:LODOP中平铺图片 文本项Repeat. 该博文中是平铺的图片,上面是文本.如果是图片add_print_image和add_print_text纯文本,这两个打印项设计的,可以直接通过 ...
随机推荐
- (转载) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 步骤 这一篇依然使用step by step的方式 ...
- byte[] 转 2进制字符串
/byte[]转为二进制字符串表示byte[] bytesTest =new byte[]{16,18,33}; string strResult=string.Empty;string strTem ...
- jsp文件上传下载组件
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...
- SpreadJS 复制行
参考:https://www.cnblogs.com/yeyuqian/p/10750441.html 核心代码: //例子:复制第一行(10列) 复制到 第二行var fromRanges = ne ...
- Firefox设置谷粉搜搜为默认搜索引擎的方法
原文转自:http://www.gfsoso.org/119/ 作者: cjx 分类: 谷粉专题 发布时间: 2014-07-09 23:10 ė 668条评论 如果使用Firefox的朋友希 ...
- CODE FESTIVAL 2016 qual C题解
传送门 \(A\) 什么玩意儿-- const int N=105; char s[N];int n,f1,f2; int main(){ scanf("%s",s+1),n=st ...
- php grpc请求go,报Yac::get(): Unserialization failed
大概说下yac是个啥东西..看鸟哥的博客 Yac 是为PHP实现的一个基于共享内存, 无锁的内容Cache Yac的两个应用场景:1.让PHP进程之间共享一些简单的数据2.高效地缓存一些页面结果 假设 ...
- raycaster选取捕获obj模型&&选中高亮代码
目录 raycaster选取捕获obj模型&&选中高亮代码 raycaster关键代码 选中高亮代码 obj整体上色 raycaster选取捕获obj模型&&选中高亮代 ...
- SSM 整合 ehcache 报错
异常: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springfra ...
- JetBrains CLion 2019 for Mac(智能C和C++编辑器)中英文如何切换完整教程
右键显示包内容,进入目录,contents/lib,删除resources_zh.jar,重启即可. 参考: https://blog.csdn.net/qq_45179462/article/det ...