
不知道大家有没有经常使用 Safari->文件->导出为 PDF 的功能,我比较下来,这个是所有网页转 PDF 方案里唯一能保证网页原效果的方法,所以经常使用。
但是它有个很诡异的 bug ,就是如果网页里有一些字符的 Unicode编码恰好和一些 Unicode 部首区域的字符相似的话,它竟然会把这些普通的文字转成后者!
举个例子来说,大:\u5927 、马:\u9a6c ,这是中文正常使用 Unicode 时的编码,但是 Safari 转成 PDF 后,会把这两个字符强制变成\u2f24 和\u2ee2
2E80-2EFF 区域是 CJK 部首补充 2F00-2FDF 区域是康熙字典部首
有兴趣的可以拿这这篇文章转成 pdf 试试 https://mp.weixin.qq.com/s/9aj9cA0auQTEuwP_VjCDxQ
这文章里有“大”这个字
大家有没有啥办法让 Safari 别这么搞,因为搞了个 PDF 文档检索系统,很多文字被这样转了之后,就搜索不到了,很苦恼。
1 DonDonc 2023-03-27 13:05:23 +08:00 这个问题除了浏览器之外,和字体也有关系,不清楚怎么解决,不过可以提供参考资料 https://www.thetype.com/typechat/ep-183/ 字谈字畅的播客有提到这个问题。 不过可以提供另一个保存网页的方案,另存为 mhtml ( Chrome )或者 webarchive ( Safari )。 |
2 lqcc 2023-03-27 13:14:06 +08:00 跟操作系统用的语言有没有关系? |
3 KevinChan 2023-03-27 14:14:16 +08:00 楼主能具体描述一下吗?因为我试着导出,也没什么异常啊。字形没什么异常,也能正常查询,复制。 |
4 wydinhk 2023-03-28 08:16:11 +08:00 macOS 16.3 ,简体中文系统,无异常。 |
5 pigzilla 2023-03-28 08:28:20 +08:00 大概率是这个网站 /网页本身有防爬,将某些字符替换成了你说的这些错误的部首,但是通过定制的字体使得显示看起来又是正常的。 |
6 jjxtrotter 2023-03-28 08:36:54 +08:00 试试“打印”,然后存储为 PDF 。 你的那个微信文章感觉用这种方式会更舒服 |
7 Kbytes 2023-03-28 09:20:42 +08:00 在我的电脑上测试了一下,感觉更像是 pdf 软件打开时存在转码(不清楚为什么要这么做)。比如存储为 pdf 后,用预览或 chrome 打开时,字的编码是正常的,但使用 pdf expert 打开时,编码就变了。 |
8 feel5230 2023-03-28 17:22:38 +08:00 |
9 f1ynnv2 OP @feel5230 这种方式其实就是前面说的,如果页面有打印样式的话,会调用打印样式。像是公众号文章其实这样做出来效果还行,但是有些页面用的默认打印样式,那个惨不忍睹啊 |
11 f1ynnv2 OP @hs0000t 顺着你的思路,我查了一下,大概知道原因了,是锅在 macOS 用的 pdf 转换器 https://www.zhihu.com/question/309496647 看来很多 PDF 转换器都存在这种自作聪明的瞎搞,上文里有个人说的很对:不要相信 Quartz 输出的 PDF 能够满足你们的所谓电子书 /文档需求。它只能满足你打印出来的和你在 UI 上看到的一样。 |