f1ynnv2
V2EX  ›  macOS

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

  •  
  •   f1ynnv2 · Mar 27, 2023 · 2614 views
    This topic created in 1169 days ago, the information mentioned may be changed or developed.

    不知道大家有没有经常使用 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 replies    2023-04-01 14:18:19 +08:00
    DonDonc
        1
    DonDonc  
       Mar 27, 2023
    这个问题除了浏览器之外,和字体也有关系,不清楚怎么解决,不过可以提供参考资料 https://www.thetype.com/typechat/ep-183/ 字谈字畅的播客有提到这个问题。

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

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

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

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

    看来很多 PDF 转换器都存在这种自作聪明的瞎搞,上文里有个人说的很对:不要相信 Quartz 输出的 PDF 能够满足你们的所谓电子书 /文档需求。它只能满足你打印出来的和你在 UI 上看到的一样。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5659 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 06:42 · PVG 14:42 · LAX 23:42 · JFK 02:42
    ♥ Do have faith in what you're doing.