不知道大家有没有经常使用 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 这种方式其实就是前面说的,如果页面有打印样式的话,会调用打印样式。像是公众号文章其实这样做出来效果还行,但是有些页面用的默认打印样式,那个惨不忍睹啊
|
10
hs0000t 2023-03-31 17:33:31 +08:00
https://www.v2ex.com/t/865924
我在不到一年前就碰见了这个问题,最近才解决 |
11
f1ynnv2 OP @hs0000t 顺着你的思路,我查了一下,大概知道原因了,是锅在 macOS 用的 pdf 转换器
https://www.zhihu.com/question/309496647 看来很多 PDF 转换器都存在这种自作聪明的瞎搞,上文里有个人说的很对:不要相信 Quartz 输出的 PDF 能够满足你们的所谓电子书 /文档需求。它只能满足你打印出来的和你在 UI 上看到的一样。 |