我正在使用 Google Chrome(目前最新版本为 v56),觉得它的打印为 PDF 功能非常好用。但是有一个小问题。
- 情况 1:如果网页上最宽的图片太宽,例如 2000px,PDF 上的文字就会变得非常小。
- 情况2:假如网页上最宽的图片只有1000px,那么PDF上的文字就会变成情况1的两倍大小,而且文字大小看起来很舒服。
可以使用以下 html 代码片段来演示这一点:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title> circle </title>
<style type="text/css">
img {
width: 2000px; /* Change this value to experience it */
}
</style>
</head>
<body>
<p>Check the text size<p>
<img src="_circle.png" />
<p>END</p>
</body>
</html>
所以我的问题是:有没有办法将网页上的每张图片缩小到某个比例,例如 80%、70% 或 60%,以便文本大小在 PDF 上看起来不错。缩小调整可以是暂时的(例如在 F12 控制台中),因为我只是想偶尔手动生成 PDF。
答案1
我伪造了一个 JavaScript 片段,将所有合格的<img>
s 缩小到 70% 的大小。
imgs=document.getElementsByTagName('img')
for(var i in imgs) {
if(isNaN(i))
continue
cimg = imgs[i]
if(cimg.getAttribute('class')=="confluence-embedded-image")
cimg.width = cimg.width * 0.7
}
在打开“打印”对话框之前,我打开 F12 控制台并粘贴上述代码;所有图像将变为其原有视觉大小的 70%。现在打印它。