ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

网页存成PDF字太小?先看这3处

网页存成PDF字太小?先看这3处 期末那阵子我习惯把老师发的在线讲义、几份中文技术文档存成 PDF攒在平板里翻。有一份带大表格的资料我按 CtrlP 存下来在平板上看还凑合打印出来一看傻眼表格那块的字要贴着眼睛才认得出右边几列挤成一团。第一反应是打印机不行跑去打印店换了台机器又印一份一模一样。问题不在打印机在「存成 PDF」这一步。为了能反复测我自己拼了一个跟那份资料差不多的网页一张 46 行的明细表数据全是编的表格字号用的是网页上很常见的 13px。这里先说清两个单位后面一直要用px 是屏幕上的点pt 是纸上的点一张 A4 的宽度是 595pt 左右两者不能直接比。同一个页面我存了两遍一遍用浏览器自带的打印存 PDF一遍用图映 ImgIng 的 HTML 转 PDF一个免费的在线HTML转PDF工具它默认给的是「跟随网页本身的尺寸」这条路。两份 PDF 我都用脚本量了页数、字号和能选中的字数。我也顺手看了一眼数据走到哪儿把文件拖进去、读目录、把图片和样式对上号、右边那个实时预览还有出了 PDF 之后再无损瘦一遍身这些都发生在浏览器这一侧这一段没有一个字节往外走。往外走的时机只有一个——按下转换那一刻页面会被打包成一份剥掉脚本、资源全部内联的自包含 HTML 快照一次 POST 交给同一域名下的 imging.cn 接口那边由服务端的 Chromium 配 Skia 排好版再把真实 PDF 递回来图映这套文档功能里要借服务端的就这一处。别理解错了你在页面上折腾的那些都在自己电脑里只有真正生成 PDF 的那一下内容会出门一趟。差距比我以为的大。浏览器打印那份是 2 页表格字量出来 6.74pt只有网页上 13px 的 69% 上下跟随网页尺寸那份是 1 页字是 9.75pt。更关键的是字不是被裁掉的——我给每一行都埋了记号去数两份里被切断的行数都是 0 行——它是整体被缩小了。后面我把要看的三处按顺序理了一遍。第一处字为什么会变小网页是一条可以无限往下滚的长条纸不是。浏览器要把这条长条塞进一张张固定大小的纸里横着塞不下的时候它不会把右边切掉而是把整页等比例缩小直到宽度刚好装进纸里为止。我这张表在屏幕上占 1180px 宽纸上能用的地方只有 816px 左右缩完就是那个 69%13px 的字于是变成了 6.74pt。表格越宽、列越多缩得越狠所以吃亏最大的永远是宽表格。那条「跟随网页本身尺寸」的路是反过来的不缩照着网页渲染出来的真实宽高直接生成一张同样尺寸的纸。字是 9.75pt看着舒服代价是那一页变成了 1080×1536pt 的一张大纸再往下的长页面还会更长。存在平板上翻很顺真要拿去打印还得让打印机去缩等于把问题挪到了后面。我现在的分法很土只在屏幕上看的存跟随尺寸一定要打出来的就老实用打印那条路但先把第二处改掉。第二处纸张那一栏默认可能不是 A4我一直默认「打印就是 A4」直到量了尺寸才发现不是。我这版浏览器给的默认纸张是 Letter612×792pt比 A4 矮一截也窄一点。国内打印店的纸基本是 A4你按 Letter 存出来的 PDF 拿去印打印机还要再做一次缩放或者留白字只会更小。所以打开打印预览之后别急着按保存先把纸张那一栏看一眼改成 A4 再存。这一步不花时间但它是我踩过最冤的一处——之前那份糊掉的资料有一部分就是这么来的。第三处页面里那种能自己滚的小框这一处最阴也是我觉得最该提前知道的。有些网页把表格放在一个固定高度、可以自己滚动的小框里你在页面上能滚着看完全部内容但存 PDF 的时候只有当时露出来的那几行会被存下去。我那张 46 行的表放进这种框里再存两条路存出来的都只有 8 行剩下 38 行直接不在文件里而且从头到尾没有任何提示。办法只能是绕存之前先把那个框拉开或者找找这份资料有没有「打印版」「完整版」的链接再不行就分几屏截图另存。为什么两条路都救不回来我到现在也没完全搞明白只知道这不是某一个工具的毛病。存完花十秒自己验一下最后这条是我现在每次都做的PDF 打开以后用鼠标在正文里划一下。划得中、能选中、能复制说明存下来的是真的文字以后能搜能查划不中说明整页其实是一张图片字只是画上去的。我特意做了个对照同一页内容按截图那种方式塞进 PDF一个字都划不中体积还是文字那份的 6.4 倍——995,232 字节对 156,370 字节。存参考资料、存要写进作业附录的东西这十秒值得花不然等到论文查资料想搜一个词的时候才发现搜不到那份 PDF 基本等于废了。
返回列表