在 Chrome 上打印为 PDF 时如何按比例缩小所有图像

在 Chrome 上打印为 PDF 时如何按比例缩小所有图像

我正在使用 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%。现在打印它。

相关内容