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

有没有人试过,编程操作 PSD 文件?

  •  
  •   param · 2017-05-12 00:17:02 +08:00 · 4434 次点击
    这是一个创建于 2531 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用过一些 PSD 的解析库,只能读而不能写。
    试过 gimp 的 Python-fu,但那个文档实在不全。
    有些方式是用 win32 的 API 来调用 Photoshop,我用 Linux 所以没有尝试。
    我其实是想,创造一个 PSD 文件作为模板,然后用编程的方式来修改其中的文字,批量生成图片。
    10 条回复    2017-05-12 09:37:42 +08:00
    Kilerd
        1
    Kilerd  
       2017-05-12 00:26:44 +08:00
    有人试过,那人好像叫什么 adobe 吧(手动滑稽

    psd 里面的格式不像 doc 这样是开源的,所以不知道他的编码模式,所以很难操作把
    billlee
        2
    billlee  
       2017-05-12 00:40:17 +08:00
    Photoshop 里面可以写 ECMAScript 吧
    squid157
        3
    squid157  
       2017-05-12 00:42:31 +08:00 via iPhone
    你这个需求可以考虑 ImageMagick 或者 PHP 的 GD
    param
        4
    param  
    OP
       2017-05-12 00:47:07 +08:00
    @squid157 ImageMagick 似乎改不了 psd 里的文字吧?
    param
        5
    param  
    OP
       2017-05-12 00:47:25 +08:00
    @Kilerd 那 gimp 是怎么操作的?
    geelaw
        6
    geelaw  
       2017-05-12 00:52:18 +08:00
    你可以用 UI automation 的方法,利用 Photoshop 本身。
    RqPS6rhmP3Nyn3Tm
        7
    RqPS6rhmP3Nyn3Tm  
       2017-05-12 01:39:00 +08:00 via iPhone
    你这个需求看起来不复杂,自己实现一个格式可能还容易一些
    wdhwg001
        8
    wdhwg001  
       2017-05-12 08:23:58 +08:00 via iPhone
    很坑。
    举个例子的话,PS 的 api 是用 4 个字母缩写一切的,但同时却没有足够完整的文档。
    而且,api 也不全,有时候简单的操作也需要用宏完成。
    squid157
        9
    squid157  
       2017-05-12 08:38:29 +08:00 via iPad
    @param 我的意思是吧 PSD 导出成 PNG 之类的图,然后你自己插文字到你要的地方。除非你文字比较复杂。你应该把需求描述的更清楚一些。
    shoaly
        10
    shoaly  
       2017-05-12 09:37:42 +08:00
    有一个办法 是先用 psd 编辑好样式之后, 导入到 inDesign 里面去, 然后 indesign 是支持修改其中某一个文字框的内容的, 有丰富的接口可以玩
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3272 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:48 · PVG 21:48 · LAX 06:48 · JFK 09:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.