V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
udonmai
V2EX  ›  问与答

在Linux系统中生成的PDF,在windows下的渲染效果都很差吗?

  •  
  •   udonmai · 2012-07-11 08:53:38 +08:00 · 4059 次点击
    这是一个创建于 4314 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天用 wkhtmltopdf 在Linux下将我的某个HTML文件转化成了PDF,打开一看渲染很棒~ 刚才到windows下打开一看。。。字都是模糊的。。。 必须放大3倍才稍显清晰,这是怎么回事?
    29 条回复    1970-01-01 08:00:00 +08:00
    manhere
        1
    manhere  
       2012-07-11 08:58:32 +08:00
    感觉是PDF分辨率问题
    udonmai
        2
    udonmai  
    OP
       2012-07-11 09:01:15 +08:00
    @manhere 可是在Linux下打开效果非常好。。。打开用的也是Adobe Reader。。 Win下也是,但是非常模糊,100%的时候,放大之后只是稍微改善了下。。。 好悲催。。
    GordianZ
        3
    GordianZ  
    MOD
       2012-07-11 09:29:20 +08:00
    没有内嵌字体也不应该很模糊啊⋯⋯有截图么?
    udonmai
        4
    udonmai  
    OP
       2012-07-11 09:48:02 +08:00
    @GordianZ 在Linux下打开完全正常,效果很好,但是win下不知道为什么打开就这样了。。。
    udonmai
        5
    udonmai  
    OP
       2012-07-11 09:48:29 +08:00
    @GordianZ 这是缩放100%的时候
    GordianZ
        6
    GordianZ  
    MOD
       2012-07-11 09:55:29 +08:00
    @udonmai 感觉是 Linux 上的字体问题。
    简单的解决办法就是装个虚拟打印机⋯⋯那样导出到 PDF 中的已经是经过浏览器排版渲染好的 PostScript 了。
    udonmai
        7
    udonmai  
    OP
       2012-07-11 10:01:41 +08:00
    @GordianZ 你指的是Linux的字体在win下没有所以这样子? 可是PDF文件难道也是每次打开系统都去渲染一次? 如果是这样的话。。那我就先在Linux下生成图片,再转成PDF的话,应该也可以了?

    虚拟打印机是什么意思呀? 不是很明白,我用wkhtmltopdf直接转换的网址。
    udonmai
        8
    udonmai  
    OP
       2012-07-11 10:06:16 +08:00
    @udonmai 好悲催,在iPad上的渲染也很棒,就是Win。。。
    infinte
        9
    infinte  
       2012-07-11 10:06:46 +08:00
    你应该直接叫 PDF 嵌入字体啊……
    GordianZ
        10
    GordianZ  
    MOD
       2012-07-11 10:10:59 +08:00
    @udonmai PDF 确实是打开的时候通过 Adobe Reader 类的软件渲染的。但是如果你生成图片的话,首先缺失了 PDF 渲染引擎对文本的次像素渲染,导致笔画不光滑。
    其次如果打印出来的效果很差,但是你提升 dpi 的话 PDF 文件又很大。
    Linux 下的 PDF 打印机我搜了一下找到 http://www.cups-pdf.de/ , 如果你有 Mac 的话系统自带打印 PDF 功能, Windows 上 Chrome 也自带 PDF 打印功能。
    udonmai
        11
    udonmai  
    OP
       2012-07-11 10:14:50 +08:00
    @GordianZ 嗯。。用Chrome打开也完全正常,那应该就是Win下的Adobe Reader的问题了。。。 版本低么。。。 我下个其他软件看看。。。

    但是这又有个问题了。。如果这份PDF需要传阅的话,很多人的PC上都会有渲染问题,真头疼。。
    udonmai
        12
    udonmai  
    OP
       2012-07-11 10:15:11 +08:00
    @infinte 不太明白,求解?
    GordianZ
        13
    GordianZ  
    MOD
       2012-07-11 10:16:37 +08:00
    @udonmai 我建议你用 Chrome 生成 PDF 然后拿到其它客户端打开看, Chrome 生成的 PDF 兼容性好很多。
    udonmai
        14
    udonmai  
    OP
       2012-07-11 10:23:53 +08:00
    @GordianZ 嗯。。
    ivenvd
        15
    ivenvd  
       2012-07-11 10:36:30 +08:00
    抗锯齿开了么……
    udonmai
        16
    udonmai  
    OP
       2012-07-11 10:39:19 +08:00
    @ivenvd 还有这种设置么。。。 怎么开。。。
    udonmai
        17
    udonmai  
    OP
       2012-07-11 10:42:18 +08:00
    @GordianZ @infinte @manhere 最可怕的事情发生了。。。 我升级了Adobe Reader。。。 然后一切正常了。。。 我的个天呐。。。 这到底是闹哪样啊。。。 为神马低版本的完全不给力啊。。。 我的字体也不是很高级啊。。 就因为渲染引擎变了?

    也就是说我的PDF的这种效果,只有比较先进的渲染技术才可以渲染?懵了。。
    ivenvd
        18
    ivenvd  
       2012-07-11 10:42:43 +08:00
    @udonmai Preferences -> Page Display -> Rendering -> Smooth Text
    udonmai
        19
    udonmai  
    OP
       2012-07-11 10:46:45 +08:00
    @ivenvd 。。。低版本的删掉了。。。 T T
    ant_sz
        20
    ant_sz  
       2012-07-11 11:16:36 +08:00
    windows的抗锯齿算法和其他系统不一致导致的,在mac os下看上去很好的pdf在windows下也会很丑

    具体来说,差异在于windows的抗锯齿算法为了获得更好的效果,是不惜改变字体的原貌的,在屏幕上显示和打印出来会有差异,而其他系统则默认尽量保持屏幕显示效果和打印效果一致。

    两种理念各有利弊,在windows下的弊端就是会产生一些字体渲染出来很模糊的现象。不知道大家有没有注意过,微软雅黑在windows下显示出来会有高低不平的感觉,其实就是此算法导致的。打印出来是不会有这种感觉的。是windows渲染字体时向内侵蚀了字体导致的
    kelvinsze
        21
    kelvinsze  
       2012-07-11 11:19:32 +08:00
    生成的时候应该有版本选择,选择低一点的版本兼容性可能会好一些
    udonmai
        22
    udonmai  
    OP
       2012-07-11 11:19:39 +08:00
    @ant_sz 原来如此。。 但是后来我更新了阅读器,貌似又好了。。 好纠结。。。 高版本的Adobe Reader自带了渲染算法?
    udonmai
        23
    udonmai  
    OP
       2012-07-11 11:21:00 +08:00
    @kelvinsze wkhtmltopdf 貌似真有 --version 的选项。。。 PDF的版本是Adobe定制的么?
    udonmai
        24
    udonmai  
    OP
       2012-07-11 11:23:27 +08:00
    @kelvinsze 额。。查了下,他的 version 选项还不是这个意思。。囧
    thcode
        25
    thcode  
       2012-07-11 11:27:17 +08:00
    @udonmai adobe的软件一直使用自己的渲染引擎,我觉得这个像是软件bug
    udonmai
        27
    udonmai  
    OP
       2012-07-11 12:18:04 +08:00
    @kelvinsze 嗯。。
    udonmai
        28
    udonmai  
    OP
       2012-07-11 12:18:20 +08:00
    @thcode 这样子。
    infinte
        29
    infinte  
       2012-07-11 14:02:30 +08:00
    @ant_sz 喂,PDF 里字体不会有 gridfit 的。@udonmai 的问题可能是他用的字体有点阵,旧版 reader 会调出点阵
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   894 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:54 · PVG 06:54 · LAX 15:54 · JFK 18:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.