V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
f1ynnv2
V2EX  ›  macOS

Safari 将网页导出为 pdf 有个很诡异的 bug,会把普通文字转成 CJK 部首

  •  
  •   f1ynnv2 · 2023-03-27 12:04:24 +08:00 · 1689 次点击
    这是一个创建于 632 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道大家有没有经常使用 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 文档检索系统,很多文字被这样转了之后,就搜索不到了,很苦恼。

    11 条回复    2023-04-01 14:18:19 +08:00
    DonDonc
        1
    DonDonc  
       2023-03-27 13:05:23 +08:00
    这个问题除了浏览器之外,和字体也有关系,不清楚怎么解决,不过可以提供参考资料 https://www.thetype.com/typechat/ep-183/ 字谈字畅的播客有提到这个问题。

    不过可以提供另一个保存网页的方案,另存为 mhtml ( Chrome )或者 webarchive ( Safari )。
    lqcc
        2
    lqcc  
       2023-03-27 13:14:06 +08:00
    跟操作系统用的语言有没有关系?
    KevinChan
        3
    KevinChan  
       2023-03-27 14:14:16 +08:00
    楼主能具体描述一下吗?因为我试着导出,也没什么异常啊。字形没什么异常,也能正常查询,复制。
    wydinhk
        4
    wydinhk  
       2023-03-28 08:16:11 +08:00
    macOS 16.3 ,简体中文系统,无异常。
    pigzilla
        5
    pigzilla  
       2023-03-28 08:28:20 +08:00
    大概率是这个网站 /网页本身有防爬,将某些字符替换成了你说的这些错误的部首,但是通过定制的字体使得显示看起来又是正常的。
    jjxtrotter
        6
    jjxtrotter  
       2023-03-28 08:36:54 +08:00
    试试“打印”,然后存储为 PDF 。

    你的那个微信文章感觉用这种方式会更舒服
    Kbytes
        7
    Kbytes  
       2023-03-28 09:20:42 +08:00
    在我的电脑上测试了一下,感觉更像是 pdf 软件打开时存在转码(不清楚为什么要这么做)。比如存储为 pdf 后,用预览或 chrome 打开时,字的编码是正常的,但使用 pdf expert 打开时,编码就变了。
    feel5230
        8
    feel5230  
       2023-03-28 17:22:38 +08:00
    @jjxtrotter 是的…

    楼主可以试试打印然后生成 PDF 文件;

    如果页面内容更多,点击阅读模式,然后再打印生成 PDF 就能解决这个问题了啊
    f1ynnv2
        9
    f1ynnv2  
    OP
       2023-03-28 23:40:44 +08:00 via iPhone
    @feel5230 这种方式其实就是前面说的,如果页面有打印样式的话,会调用打印样式。像是公众号文章其实这样做出来效果还行,但是有些页面用的默认打印样式,那个惨不忍睹啊
    hs0000t
        10
    hs0000t  
       2023-03-31 17:33:31 +08:00
    https://www.v2ex.com/t/865924
    我在不到一年前就碰见了这个问题,最近才解决
    f1ynnv2
        11
    f1ynnv2  
    OP
       2023-04-01 14:18:19 +08:00
    @hs0000t 顺着你的思路,我查了一下,大概知道原因了,是锅在 macOS 用的 pdf 转换器
    https://www.zhihu.com/question/309496647

    看来很多 PDF 转换器都存在这种自作聪明的瞎搞,上文里有个人说的很对:不要相信 Quartz 输出的 PDF 能够满足你们的所谓电子书 /文档需求。它只能满足你打印出来的和你在 UI 上看到的一样。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1011 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:21 · PVG 04:21 · LAX 12:21 · JFK 15:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.