基于vue,打印机打印暂且处理
基于vue单页面应用。暂且没找到合适的方案,什么vue-print 、jquery.print.js、jqprint.js、、canvas生成图片啊
大多不能保证页面样式保持原样。
所以,选择了最土的办法。
走起
window.print()
嗯,各种问题又来了了了了了。直接调用window.print()会把整个页面都给打印。
所以,
依据业务重写媒体查询css。(无法保证以后还要改)
@meida print
专门定义控制打印显示样式,跟打印机相关的都写在它底下
由于现在只进行弹窗内容区域打印。
所以先把弹窗下面的内容整体隐藏显示。
然后就只剩下整个的弹窗区域了。
一般弹窗层次结构是最外框灰背景遮罩。嵌套外框,嵌套内容区域。
因此,把弹窗遮罩灰背景设置白色。
把弹窗嵌套外框样式能消除的都去掉,
把弹窗内容区域设置显示。
细化隐藏
当然内容区域还有一部分内容不想被打印,那就需要设置一个class专门隐藏打印样式
.no-print
diaplay none
哪里不要加哪里。
此时打印基本接近完美(吧)。
控制缩放
经过打印测试,当打印区域超出800px的时候,a4纸是无法显示完整的。
看别人的打印一般都是控制在800px以内,发现自己大多数弹窗都是大于800px,此时如果修改宽度,耗费时间及精力太长。
基于谷歌浏览器,window.print()是有打印预览界面,缩放横竖排版好像js暂时没找到控制方法。由于弹窗宽度一定,测试了下缩放到62%的时候,打印区域基本完美了。用户又不会进行缩放?
更可气的是,火狐及其他浏览器。都不存在打印预览页面。用户会了又怎样?
百度一下发现,原来css也可以控制缩放。
zoom 0.62
//全局打印样式
@media print
*
color black !important
border-color black !important
body
width auto !important
#app-content
display none
.no-print
display none
.component-fullWrap
background white !important
overflow hidden
zoom 0.62
.component-inner
.component-close
display none
.com-formInfo
overflow hidden
.content-item
border none
width auto
display block
overflow hidden
.bigtitle
margin-top 0px
.biao-btn-group
display none
emmmm...
有好办法的欢迎拍砖啊
谁知道以后会不会有更变态的需求
基于vue,打印机打印暂且处理的更多相关文章
- 基于Vue的SPA动态修改页面title的方法
最近基于VUE做个SPA手机端web发现动态修改页面标题通过document.title=xxxx 来修改着实蛋疼,而且在IOS的微信端据说没效果.百度发现要针对IOS的微信做点额外的操作,即:创建一 ...
- 基于vue实现百度离线地图
基于vue实现百度离线地图 1. 百度地图API文件获取 有网络 的情况下,需引入百度地图API文件.如下: <script type="text/javascript" s ...
- MFC 实现打印机打印功能
Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提供的框架内实现这 ...
- 重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印
重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印 一.引言 桌面端系统经常需要对接各种硬件设备,比如扫描器.读卡器.打印机等. 这里介绍下桌面端 ...
- jq动画插件,自制基于vue的圆形时钟
首先附上jq插件库,里面的东西太炫了,建议学前端的可以看看学习下:http://www.jq22.com/ 里面有个“超个性动画版本的个人简历”,通过屏幕上不断打印内容,改变相应样式来实现动画简历,我 ...
- Java jacob调用打印机打印word文档
前面说了Java如何生成复杂的Word文档,今年记录下Java如何调用打印机打印word文档. 起初用的是自带的PrintJob,但是系统提供的打印机制并不成熟完整.网上的代码也是千篇一律,在我的打印 ...
- C# 打印PDF文件之使用不同打印机打印所有页面或部分页面
C# 打印PDF文件之使用不同打印机打印所有页面或部分页面 最近在逛国外各大编程社区论坛的时候,发现很多人都在问一个关于PDF文件打印的问题:打印时如何选择非默认打印机并设置打印页面的范围.而一般情况 ...
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)【转】
原文地址:http://blog.csdn.net/ldljlq/article/details/7338772 在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇 ...
- aspose调用打印机打印文档
aspose很不错的插件,功能非常强大,用到了其中的aspose.word. 如何生成word文档,点击. 下面说说如何如何通过打印机打印文档. aspose提供了一个print方法,通过该方法可以直 ...
随机推荐
- 客户机中PLSQL DEV访问虚拟机中的ORCLE11g,错误百出!
客户机中PLSQL DEV访问虚拟机中的ORCLE11g,错误百出! 创建时间: 2017/10/14 18:44 作者: CNSIMO 标签: ORACLE 忙了一下午,只有两个字形容:麻烦! ...
- Python学习笔记(五)
Python学习笔记(五): 文件操作 另一种文件打开方式-with 作业-三级菜单高大上版 1. 知识点 能调用方法的一定是对象 涉及文件的三个过程:打开-操作-关闭 python3中一个汉字就是一 ...
- 开发人员的福音:微软、谷歌、Mozilla将他们所有的web API文档放在同一个地方
Tips 原文作者:Liam Tung 原文地址:Developers rejoice: Microsoft, Google, Mozilla are putting all their web A ...
- JAVA To C++ Converter Cracked ( 破解版 )
JAVA To C++ Converter v17.10.2 Cracked by X-Cracker 简介 JAVA To C++是一款将JAVA代码或项目转换为 C++的工具 免费版本只每次只支持 ...
- Fastify 系列教程一(路由和日志)
介绍 Fastify是一个高度专注于以最少开销和强大的插件架构,为开发人员提供最佳体验的Web框架. 它受到了 Hapi 和 Express 的启发,是目前最快的 Node 框架之一. Fastify ...
- Nodejs.安装.非源码方式安装Node.js (Centos)
已验证的适用环境: Centos6.x 树莓派官方ROM(Raspbian) 先去官网下载已编译好的安装包 https://nodejs.org/en/download/current/ 以Cent ...
- js判断是否使用的是微信浏览器
代码如下: function is_weixin() { var ua = navigator.userAgent.toLowerCase(); return ua.match(/MicroMesse ...
- hbase+springboot+redis实现分页
实现原理: 1.读取hbase数据每页的数据时多取一条数据.如:分页是10条一页,第一次查询hbase时, 取10+1条数据,然后把第一条和最后一条rowkey数据保存在redis中,redis中的k ...
- VS2012 C#生成DLL并调用
1.创建一个C#工程生成DLL 新建->项目->Visual C#->类库->MyMethods 项目建好后,为了理解,将项目中的Class1.cs 文件 重命名为 MySwa ...
- Fibonacci Check-up
Fibonacci Check-up Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...