-
2021-06-23 08:12:53
2004-11-11
如何把需要的东西打印出来?谢谢,我是新手
1、以word文档为例:
打好并编辑、排版后,没问题了,在文档左上方的“文件”选项内选择“打印”,会出现打印选项,按照提示,选择页数、彩色或黑白、双面或单面等,按照实际情况选择后,按“确定”即可打印;或者在“文件”选项内先选择“打印预览”看一下,如果不对或页边距等有问题,同样“文件”选项内有“页面设置”,调整好了再打;
2、以网页为例:
当你在网上看到一篇文章时,想把它打印下来,就先选择你想打印的部分并复制,然后打一个新的word文档,粘贴上去以后,编缉重排,用第一条介绍给你的方法打印出来即可。
3、现在某些打印机的驱动程序中配有一套叫做“轻松打印网页”的小软件,这个软件可以让你不用把...全部
1、以word文档为例:
打好并编辑、排版后,没问题了,在文档左上方的“文件”选项内选择“打印”,会出现打印选项,按照提示,选择页数、彩色或黑白、双面或单面等,按照实际情况选择后,按“确定”即可打印;或者在“文件”选项内先选择“打印预览”看一下,如果不对或页边距等有问题,同样“文件”选项内有“页面设置”,调整好了再打;
2、以网页为例:
当你在网上看到一篇文章时,想把它打印下来,就先选择你想打印的部分并复制,然后打一个新的word文档,粘贴上去以后,编缉重排,用第一条介绍给你的方法打印出来即可。
3、现在某些打印机的驱动程序中配有一套叫做“轻松打印网页”的小软件,这个软件可以让你不用把网页复制下来也可打印。方法同第一,只要找到“打印”选项,进去选择,然后“确定”。
。收起
更多相关内容 -
Vue中打印网页的指定部分的几种方法
2019-10-28 16:15:55可以在GitHub上下载打印插件,但是自己写更简单,所以我就自己写了 本例为打印网页上的一个表格 window.print()打印的是整个网页的HTML内容,不包括CSS @media print{ ... }可以设置打印时样式 正文 网页效果: ...楔子
- 这里是以下会用到的一些知识和说明
- 可以在GitHub上下载打印插件,但是自己写更简单,所以我就自己写了
- 本例为打印网页上的一个表格
- window.print()打印的是整个网页的HTML内容,不包括CSS
@media print{ ... }
可以设置打印时样式
正文
-
网页效果:
-
目标:右键点击打印按钮时能打印表格,忽略下方的文字和图片,并且保留样式
-
思路:点击打印按钮时,将整个页面的HTML替换为目标区域的HTML,配合@media print{}保留样式,但是页面的HTML被替换后造成页面的改变,因此最后需要刷新一下页面
-
代码:
<!--HTML部分--> <!--将需要打印的部分用一个div框起来,给div一个id,这里用print--> <div id="print"> <table>...表格里面的内容...</table> </div> <!--将下面的打印函数绑定到打印按钮上--> <button @click=print()>打印报销单</button>
//JS部分 //将这个函数绑定到打印按钮上 print(){ let print = document.getElementsByClassName("print")[0] //获取目标区域的HTML结构 document.body.innerHTML = print.innerHTML //替换网页的html内容 window.print() //打印 window.location.reload() //刷新页面,因为网页的html被替换后很丑 }
/*css部分*/ /*用@media print{}保留打印时的样式*/ ...直接写在style下的样式,在打印时会丢失,比如:... table{border: 2px solid black;width: 80%;margin: 0 auto;border-collapse: collapse} ...写在@media print{}中的样式,打印时会保留,比如... @media print { table{border: 2px solid black;width: 80%;margin: 0 auto;border-collapse: collapse} } /*写在@media print{}中的样式在不打印的时候不会生效,因此打印时的样式要写两遍,里面和外面各一遍*/
-
此时点击打印按钮的效果为
-
打印的效果并不理想,因为使用的是A4纸的尺寸,我们可以通过在@media print中设置size配合打印时的设置来解决这个问题
@page{ size: landscape; margin: 0 ; }
-
最终的css部分
<style scoped> ...在网页中正常显示的样式... @media print{ @page{ size: landscape; /*对打印的尺寸进行设置*/ margin: 0 ; /*去掉上面的水印*/ } ...在打印时需要保留的样式... } </style>
-
最后,在打印的选项中,选择纸张尺寸为Ledger即可
-
除了这种方法,还有其他的打印思路
- 将html刷新到iframe中,打印iframe 【不需刷新页面,但无法保留样式】
<!--HTML部分--> <!--在html中插入一个iframe节点,插在哪里都行--> <iframe src="" frameborder="0" width="0" height="0"></iframe>
//打印函数 print(){ let print = document.getElementsByClassName("print")[0] //获取目标区域 doc = iframe.contentWindow.document doc.write(print.innerHTML) //将目标区域的html写入iframe iframe.contentWindow.focus() iframe.contentWindow.print() //打印iframe }
- 将页面中不需要打印的部分隐藏掉 【不需刷新页面,可以保留样式,但是对绝对定位的元素不生效】
操作方法:在@media print{}中写一个no-print样式,例如:
将这个类放到不需要打印的标签上,实现打印是隐藏@media print{ .no-print:{display:none} }
然后在打印按钮上绑定window.print()直接打印即可
-
React实现浏览器打印部分内容
2019-05-14 20:05:34React 浏览器打印近期着手项目任务的打印功能,在此作个记录,本文介绍基于React的一种调用浏览器打印页面指定内容的方法。
整体思路: 通过构建一个隐藏的元素(该元素包裹需打印的内容),当打印行为触发时,将页面其他的一些不需要打印的元素隐藏,然后将需打印的元素追加到body中,打印完成后,再恢复初始状态即可。浏览器打印的本质还是将web页面中的元素打印出来而已。
1. 构建待打印元素
在页面中构建一个
display为none
的元素,里面的内容为你需要打印的内容。我们还需要设置包裹打印内容的元素的ref属性
,以便于后面获取到元素。<div style={{ display: 'none' }}> <div ref={el => (this.printRef = el)}> { 打印内容 } </div> </div>
2. 打印动作触发时的处理
处理流程:
- 获取待打印元素;
- 将根元素隐藏;
- 将待打印元素追加到body中;
- 调用浏览器的打印预览;
- 预览界面关闭后,将待打印元素从body中移除,将原始页面恢复。
let printView = this.state.printRef //获取待打印元素 document.querySelector('#root').className = 'print-hide' //将根元素隐藏 document.body.appendChild(printView) //将待打印元素追加到body中 window.print() //调用浏览器的打印预览 document.body.removeChild(printView) //将待打印元素从body中移除 document.querySelector('#root').className = '' //将原始页面恢复
对应的CSS设置:
@page { size: A4; margin: 0; } @media print { html, body { min-width: 0; width: 210mm; height: 297mm; } .print-hide { visibility: hidden!important; display: none!important; } }
其中,
@page
中的size可以自己设置纸张的大小,如果是A4纸可以直接设置值为A4
,媒体查询@media print
中设置的是打印时的样式,因为打印设备知道其输出区域的物理大小,所以使用厘米(cm)、毫米(mm)、英寸(in)等作为打印设计的单位完全可行。补充(其他原生的打印方法)
- 直接替换body的内容为要打印的内容,之后再重新刷新页面。
const old = window.document.body.innerHTML //备份原来的页面 window.document.body.innerHTML = '' window.document.body.appendChild(/* 将你要打印的内容附加到这 */) window.print() //调用print()函数时,会跳出打印预览的界面,以下的代码被阻塞,关闭预览界面后继续执行 window.document.body.innerHTML = old window.location.reload() //重新加载旧页面
- 打开一个新窗口,将打印内容放到新窗口打印,打印结束后关闭新窗口
const newWindow = window.open("打印窗口", "_blank") const docStr = '<div>test</div>' //需要打印的内容 newWindow.document.write(docStr) const styles = document.createElement("style") styles.setAttribute('type', 'text/css') //media="print" styles.innerHTML = '' newWindow.document.getElementsByTagName('head')[0].appendChild(styles) newWindow.print() newWindow.close()
以上两种方法可能会造成CSS样式应用无效的问题。
3. 注意点
- 第二小节的步骤2中的意思是:将页面中所有不需要打印的元素隐藏,特别注意像模态窗Model这些元素,也要为它们加上
'print-hide'
className属性。 - 如果需要在特定位置强制分页打印,可以尝试在对应元素上设置
page-break-before:always !important
、page-break-after:always !important
CSS属性,该属性只对块级元素有效(这个非常重要,就被这个坑了)。 - 进入打印预览后,我们无法获知用户最终是选择了打印,还是选择了取消。这里若有人知道解决方法的话,欢迎留言。
- JS能实现谷歌和IE浏览器打印预览,火狐不行,火狐浏览器对于JS的操作权限有极为严格的限制,其基本原则是JS无法操作页面外事务,可以试试用JS调用HTML5机制模拟打印界面输出到打印机,不通过浏览器来完成。
- 在使用口袋打印机(喵喵机)打印,如果打印内容有二维码的时候,要注意二维码的分辨率问题。(我就踩了一个坑:二维码组件生成二维码,默认是以canvas的形式,这样打印出来导致整个内容模糊,改成svg就可以清晰打印了)
若对你有帮助,可以支持一下作者创作更多好文章哦~
-
Excel 批量增加行高,解决打印表格部分行显示不全的问题
2020-04-23 09:21:51EXCEl有自动调整行高的功能,但是自动调整的行高十份紧凑,打印时会出现部分行的字下半截看不见的问题。 行不多时,可以手动调整行高,但行数超过百行后,手动工作量太大, 现使用VBA的方式进行批量调整行高,对微软...EXCEl有自动调整行高的功能,但是自动调整的行高十份紧凑,打印时会出现部分行的字下半截看不见的问题。
行不多时,可以手动调整行高,但行数超过百行后,手动工作量太大, 现使用VBA的方式进行批量调整行高,对微软和WPS的excel都适用,这里我使用WPS。
1.调出开发工具标签
依次选择 文件->选项->自定义功能区->勾选开发工具
2.插入代码
在开发工具栏中选择VB编辑器
粘贴入下面代码
Sub HeightTo() Application.ScreenUpdating = False For i = 1 To ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row If Application.WorksheetFunction.CountA(Rows(i)) > 0 Then Rows(i).RowHeight = Rows(i).RowHeight + 14 End If Next i Application.ScreenUpdating = True End Sub
代码中有两个参数可以根据实际情况自行修改For i = 1 To ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
上述 1 表示从第1行开始自动调整行高,根据自己表格进行修改。
Rows(i).RowHeight = Rows(i).RowHeight + 14
上述的 14 ,表示每行增加的行高是多少,可根据自己表格情况和打印机情况进行修改。
3.批量调整行高
选择表格所有列,并在任一列的间隔处双击,使用excvel自动调整行高功能,使表格变得紧缩。
回到VBA编辑界面,单击运行按钮。
完成! -
打印机出现打印不全怎么办
2021-07-31 01:03:03打印机出现打印不全的解决方法:1、首先在自己的电脑上找到要打印的文件,或是图片,然后点击右键它。2、然后,在桌面中打开要打印的文件后,并在用鼠标右键后的选项中,找到最上方选项中的【打印】这一项。3、在... -
如何打印qq文件的正文部分
2017-10-16 09:44:26又到了offer高收季了,前几天,因为朋友收到邮件,收需要打印qq邮件正文部分,而且不是全部打印正文,需要打印选定部分的正文,于是自己就摸索了一下,虽然还是麻烦,但是还是比较快的,相比于传统的Ctrl+C和Ctrl+V... -
C# 打印PDF文件之使用不同打印机打印所有页面或部分页面
2015-12-22 16:23:38而一般情况下,打印时选择的打印机是默认打印机,打印页面范围是所有页面,如果要选择其他打印机或打印部分页面,需要对代码进行一定的设置。通过在百度和各大网站上查找资料,终于在MSDN上找到了一个解决方案,我把... -
jqprint的网页打印,部分图片无法加载处理
2017-10-27 16:09:59本文转自:... 自己负责的模块需要有个试卷打印的功能,需要将网页特定范围内的内容打印出来,所以选择了jquery.jqprint脚本 用起来也非常简单。 //打印 $("#printPage").jqprint({ de -
3D打印入门
2020-09-04 09:39:09首先你需要知道一台3D打印机能干什么,3D打印机可以帮助你完成无模具材料成型的过程,无模具意味着你不用深思熟虑你的零件是否可以被打印出来,主要把心思放在你的想象力和绘图精准即可。 购买3D打印机,此时你要... -
如何打造属于自己的3D打印机上位机?这篇文章带你了解一下!
2021-11-09 00:57:27击上方“嵌入式应用研究院”,选择“置顶/星标公众号”干货福利,第一时间送达!建议不是本行又感兴趣的小伙伴们先看下面两篇了解一下Marlin:开源Marlin2.x源代码架构学习笔记3D打印... -
浏览器网页打印内容显示不全的解决方法教程[多图]
2021-06-10 16:10:24打印浏览器网页显示不全怎么办?由用户准备将一个网页的内容打印出来,但是却发现打印不全,如何解决这个问题呢?网页内容没有办法全部打印怎么办?本文就给大家介绍下打印网页内容显示不全的解决方法。解决方法:1... -
惠普打印机打印出来一半有字一半没字为什么
2021-01-14 14:57:22打印机的安装一般分为两个部分,一个是打印机跟电脑的连接,另一个就是在操作系统里面安装打印机的驱动程序。如果是安装USB接口的打印机,安装时在不关闭电脑主机和打印机的情况下,直接把打印机的USB连线一头接... -
在WPS电子表格中看不到打印预览怎么办?
2020-12-23 07:53:53打开WPS表格打印预览的办法:不在显示区域说明你的打印内容不在打印区域,这时候需要设置一下页边距,把文字内容控制在页边距虚线以内即可。第一步:打开WPS表格。第二步:点击打印预览或者按快捷键ctrl+p,如图。第... -
AI 怎么导出部分文件
2021-04-29 10:31:31在Adobe illustrator作图之bai后,需要导出高清大图,du主要通过调整zhi图片的导出“品质dao”,以及图片“回分辨率”的方答法实现1、单击选择工具栏的“文件”,在下拉对话框中选择“导出”,在“导出”里面选择... -
在sap系统设置纸张打印格式(针式打印机)
2021-02-11 09:06:35在sap做一个打印报表,要先设置一个纸张打印格式,下面以工厂中常用来打印的针孔纸为例,在sap设置该纸张的打印格式,以用于报表:1、运行事务代码SPAD;选择工具栏上的【完全管理】按钮——>选择【设备类型】... -
JS实现浏览器打印、打印预览
2019-05-10 17:39:19JS实现浏览器打印、打印预览 1.JS实现打印的方式方式一:window.print()window.print();会弹出打印对话框,打印的是window.document.body.innerHTML中的内容,下面是从网上摘到的一个局部打印的例子,该... -
mybatis-plus 开启与关闭 SQL 日志打印
2021-04-13 19:32:15Mybatis-plus 需要通过下面的方式开启控制台 SQL 日志打印 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 对于 application.properties 文件,可以通过下面的方式关闭: ... -
输出打印某个对象所有属性及属性值
2021-03-13 19:00:59由于对象的属性值太多,又不想用Debug调试查看,自己还懒,于是上网搜搜,整理了一下代码package com.port.tools;import java.lang.reflect.Field;/*** @authorgch*@date 2015-5-6* @version 1.0* 辅助测试*/public ... -
vue-print-nb打印问题总结
2021-08-18 18:22:351、如果打印出来,表格的列缺失 原因:table-layout: fixed导致的 让表table布局更加符合预期,普通使用table时,其table-layout默认值是auto,导致表格第二行和第一行不一样宽,也就是两行的宽度不对齐。而使用... -
求java代码,关于两个list数组比较的,并且把不同的部分输出打印
2017-02-17 02:08:27如何比较两个list数组,并且把不同的部分输出打印 第一个数组,是从数据库中查到的:while(rs.next()){ nsrsbhName.put(rs.getString("b"),rs.getString("a")); } nsrsbhList.add(nsrsbhName); //将... -
Vue+Element 表格打印
2019-11-19 13:51:35这里写自定义目录标题Vue+Element 局部表格打印 Vue+Element 局部表格打印 一开始使用了print.js、Jquery.print.min.js、printArea等插件,但是我使用这些插件过程...之后我决定通过window.print 这种方式,将需要打... -
java实现打印功能
2018-03-15 13:26:35前言在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Java 提供的打印功能一直都比较弱。实际上最初的 jdk 根本不支持打印,直到 jdk1.1 才引入了很轻量的打印支持。所以,在以前用 Java/Applet/JSP/... -
pyqt5 商店小票打印的实现模板
2020-12-08 05:14:44说明最近在用pyqt5做商店小票打印,用的是得力DL-581PW(NEW)热敏小票打印机。...使用execl打印很多场景,我都是使用win32com模块的execl打印,基本能解决大部分的打印问题。(相关的方法网上也有,可以找... -
blender 3d打印_使用Blender创建用于打印的3D模型:高级技巧
2020-07-04 11:05:19在我的Blender 3D打印入门系列的第1部分中,我介绍了基本的初步步骤,这些步骤为建立自己的3D模型并准备好进行3D打印而设置Blender环境。 在第2部分中,我检查了创建这些模型的过程。 现在,让我们看一下高级技巧,... -
Web在线打印设计器即将推出,像Excel一样在线设计模板
2020-07-07 10:41:07软件项目中总会遇到 “单据打印” 需求,特别是国企项目,一直以来没有遇到一个免费的简单好用的打印设计器,大部分项目都是手工编码,“耗时耗力,又各种兼容调试,那个痛苦啊”。曾经做一个不动产打印的功能,来来... -
blender 3d打印_使用Blender制作和准备要打印的3D模型
2020-06-19 14:22:49blender 3d打印 在我的Blender 3D打印入门系列的第1部分中,我介绍了基本的初步步骤,这些步骤为建立自己的3D模型并准备好进行3D打印而设置Blender环境。 在第2部分中,我将研究实际创建要打印的那些模型的过程。 在... -
如何使打印出手写字体
2019-01-07 14:27:36最近,小编在知乎里面看到一位大神分享了用word打印的字体像手写体,亲测好用,但由于其叙述复杂,在此对其分享内容进行整理。 (1)首先,去网站下载一款适合的手写字体,小编发现大部分网站都是收费的,在此小编... -
blender 3d打印_如何在Blender中开始3D打印
2020-07-03 15:05:19blender 3d打印 作为3D艺术家,过去通常意味着您是一位数字艺术家,您在无形材料的虚拟环境中工作。 您的工作结果注定只能在印刷或屏幕上看到。 即使在虚拟现实(VR)环境中,结果充其量也只能是对三维作品的一种... -
Python打印五子棋棋盘
2021-10-10 15:47:25Python打印五子棋棋盘要求思路...这是我Python的一个小作业,我比较懒,让我室友上网搜相应的代码,发现几乎没有符合要求的,所以我就自己写了一个。 思路 我把整个表分为3部分:第1行为第一部分;第2到14行为第二部分 -
excel打印时无法打印全部内容
2018-03-14 11:14:48我现在在做的程序有一个...原以为是因为页面不够导致无法打印,于是我尝试了修改纸张,页边距,横纵向等等方法都不管用,最后发现不是导出的excel有问题,我的程序有一个excel模板,所有要导出的excel都需要调用该模...