基于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方法,通过该方法可以直 ...
随机推荐
- spring容器启动原理分析1
在项目的web.xml中配置 <listener> <listener-class>org.springframework.web.context.ContextLoaderL ...
- 基于FFMPEG的跨平台播放器实现(二)
基于FFMPEG的跨平台播放器实现(二) 上一节讲到了在Android平台下采用FFmpeg+surface组合打造播放器的方法,这一节讲一下Windows平台FFmpeg + D3D.Linux平台 ...
- C++基础知识1
1 初始C++ 1.1 编写一个简单的C++程序 1.1.1 程序结构 每个C++程序都包括一个或多个函数(function),但只有一个主函数main.操作系统通过调用 main来运行C++程序. ...
- C#中的协变(Covariance)和逆变(Contravariance)
摘要 ● 协变和逆变的定义是什么?给我们带来了什么便利?如何应用? ● 对于可变的泛型接口,为什么要区分成协变的和逆变的两种?只要一种不是更方便吗? ● 为什么还有不可变的泛型接口,为什么有的泛型接口 ...
- JAVA基础-XML的解析
一.XML的概述 XML的全名为可扩展标记语言(Extensible Markup Language),XML的作用为:1.传输,2.存取数据,3.软件的配置文件.传输现在都用更轻量的Json,而存储 ...
- 队列(存储结构双端链表)--Java实现
/*用链表实现的队列--使用的是双端链表 *注意:空指针错误肯定是引用没有指向对象 * */ public class MyLinkedQueue { private MyFirstAndLastLi ...
- LeetCode Questions List (LeetCode 问题列表)- Java Solutions
因为在开始写这个博客之前,已经刷了100题了,所以现在还是有很多题目没有加进来,为了方便查找哪些没加进来,先列一个表可以比较清楚的查看,也方便给大家查找.如果有哪些题目的链接有错误,请大家留言和谅解, ...
- Linux学习(十三)du、df、fdisk磁盘分区
一.du du命令是查看文件或者目录大小的命令. 一般使用du -sh 查看,不用-sh参数意义也不大,应为不用这个参数,它会把目录下的所有文件大小递归的显示出来,就像这样: 如果用-sh参数: [r ...
- HDU X mod f(x)(题解注释)
X mod f(x) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- JavaScript Function.arguments 属性详解
语法 [functionObject.]arguments arguments属性是正在执行的函数的内置属性,返回该函数的arguments对象.arguments对象包含了调用该函数时所传入的实际参 ...