浏览器打印,Chrome网页打印中的宽度控制

news/2024/11/14 14:03:53/

Chrome可直接将网页保存(打印)为PDF(无需安装Adobe)

Chrome在保存为PDF文件时,默认纸张大小是A4。若布局为纵向,显示大小为210mm×297mm;若布局为横向,显示大小为297mm×210mm。

Windows下的网页打印的默认DPI为96dpi。按照1英寸=25.41mm换算,A4纸张可实际显示的像素宽度为794px×1123px,即打印网页的宽度为794px。

实际打印还会有页边距,如果页边距为5mm(窄边距),网页内容最大宽度约750px,若页边距为19mm(默认边距),网页内最大元素分辨率约650px。

基于此,很多网页在打印时会变形,因为打印时内容容器的宽度只有750px或者650px,但现在的网页内容大多都是基于至少1000px以上宽度设计的,这时候浮动容器会错位、超过宽度的图片和表格会显示不完全。

解决办法有两个。

其一,锁定网页的宽度。

当网页宽度被指定时,页面将被自动缩放。这可以保证PDF文件和浏览器上显示的效果一模一样。这时候打印出的PDF文件仍是A4大小。

其二,指定打印纸张大小。

@media print {@page {size: 210mm 297mm;  /* or size: 794px 1123px;   */size: 297mm 420mm;  /* or size: 1123px 1588px;  */}
}

原文:http://www.yujianlong.com/qianduan/7.html

第一种方法没有试验过,我是使用的第二种方法:

/* 通过分别设置左页和右页不同的左右页面距,为装订边留出更多的空间 */@media print {@page {size: 1800px 1800px;  /* or size: 1123px 1588px;  */}/* 设置 body 元素的 margin 来保证打印出来的页面带有外边距 */body {margin: 1cm;}}

我在做项目时用到的调用浏览器打印的方法。

function Print(){//根据div标签ID拿到div中的局部内容var newStr=document.getElementById("opt-content").innerHTML;var oldStr=document.body.innerHTML;//把获取的局部div内容赋给body标签, 相当于重置了 body里的内容document.body.innerHTML=newStr;//调用打印功能window.print();//重新给页面内容赋值;document.body.innerHTML=oldStr;return location.reload();}

调用浏览器打印会比一般打印的方法简单很多。Return location.reload在这里是刷新的意思,如果没有这句代码打印完后要重新刷新一次网页才能再次打印

思路:先用一个div把要打印的页面包裹起来,再将打印的部分转换成HTML格式,然后触发打印事件


http://www.ppmy.cn/news/682783.html

相关文章

JS 网页打印解决方案

这些日子真是太忙了,项目太多了公司总是加班,而且这些项目中好多都用到的打印,所以学习了一段时间js的打印。 其实原来只是用到了简单的功能,现在要深入的了解才发现原来ie的网页打印也是如此的强大。 以下是我在网上摘录的js打…

前端实现打印html页面

前端打印页面内容 确认打印布局打印预览排版去掉打印页眉页脚调用打印方法 确认打印布局 打印方法是打印body里面的数据,如果想打印部分数据,则需要将打印布局放在body里面,或者将不需要的布局隐藏。 将布局渲染到body会导致页面重新渲染&am…

前端web打印

前端打印 一、Vue打印插件 第一种方法:通过npm 安装插件 1,安装 npm install vue-print-nb --save 2,引入 安装好以后在main.js文件中引入 import Print from vue-print-nbVue.use(Print); //注册   3,现在就可以使用了 &…

浏览器网站打印标签

网站通过浏览器来打印标签 文章目录 网站通过浏览器来打印标签一、标签需要条码?二、使用前的标签打印机的配置三、使用步骤1.引入maven包2.编写生成条码的工具类3.封装调用接口,生成条码,并跳转到标签打印页面。4.页面调用浏览器的打印工具5…

网页打印代码

网页打印按钮的源代码&#xff1a;javascript:window.print(); 可以用css控制&#xff0c;看孟老大写的。media print.a {display:block}.b {display:hidden}好像是这样。把你不想打印的部分class设为b 首先在网页中添加&#xff1a; <OBJECT id"WebBrowser" he…

web 打印

11.1 Web打印 Web打印是一种常用的打印方式&#xff0c;其使用方法简单、方便、快捷&#xff0c;在浏览网页的同时就可以实现打印的功能。 实例291 调用IE自身的打印功能实现打印 实例说明 通过JavaScript调用IE自身的打印功能实现打印&#xff0c;这种方法比较简单&#xff…

#10046. 「一本通 2.2 练习 2」OKR-Periods of Words(内附封面)

[POI2006] OKR-Periods of Words 题面翻译 对于一个仅含小写字母的字符串 a a a&#xff0c; p p p 为 a a a 的前缀且 p ≠ a p\ne a pa&#xff0c;那么我们称 p p p 为 a a a 的 proper 前缀。 规定字符串 Q Q Q&#xff08;可以是空串&#xff09;表示 a a a 的…

Web页面实现打印功能

核心的代码&#xff1a; window.print() 具体的实现如下&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w3.org/199…