質問

私は多言語の Web サイトを持っており、CSV ソースから PSD ファイル内のテキストレイヤーを更新するプロセスを自動化する必要があります。

幅が変更されたため、psp で不具合が発生する可能性があることはわかっていますが、いずれにせよ、ドキュメント内にテキストがあると非常に役立ちます。

私の選択肢は何ですか?

編集:

ムルメルシュルルメルには有効な解決策があります。ここに Adob​​e ドキュメントへのリンクがあります。

http://livedocs.adobe.com/en_US/Photoshop/10.0/help.html?content=WSfd1234e1c4b69f30ea53e41001031ab64-740d.html

csv ファイルの形式はあまり良くありません。変数ごとに列が必要です。変数ごとに行が必要です。

ウムラウト (ä、ö など) で動作します。

編集1:

もう 1 つの解決策は、com を使用して Photoshop を自動化することです。テキストを変更する必要があるテンプレート (ボタン) がいくつかある場合に便利です。これが私の Python スクリプトです。これが入門に役立つかもしれません。

列を含む Excel ファイルが必要です。TemplateFileName、TargetFileName、TargetFormat、Text(IE Template.psd、button1、gif、nicebutton)。シートの最初の行は使用されません。psp テンプレートにはテキストレイヤーを 1 つだけ含める必要があり、レイヤーグループを含めることはできません。

import win32com.client
import xlrd 
spreadsheet = xlrd.open_workbook("text_buttons.xls")
sheet = spreadsheet.sheet_by_index(0)

psApp = win32com.client.Dispatch("Photoshop.Application")  
jpgSaveOptions = win32com.client.Dispatch("Photoshop.JPEGSaveOptions")  
jpgSaveOptions.EmbedColorProfile = True
jpgSaveOptions.FormatOptions = 1
jpgSaveOptions.Matte = 1
jpgSaveOptions.Quality = 1

gifSaveOptions = win32com.client.Dispatch("Photoshop.GIFSaveOptions")



for rowIndex in range(sheet.nrows):
    if(rowIndex > 0):
        template =  sheet.row(rowIndex)[0].value
        targetFile = sheet.row(rowIndex)[1].value
        targetFileFormat = sheet.row(rowIndex)[2].value
        textTranslated = sheet.row(rowIndex)[3].value
        psApp.Open(r"D:\Design\Produktion\%s" % template ) 
        doc = psApp.Application.ActiveDocument

        for layer in doc.Layers:  
            if (layer.Kind == 2):
                layer.TextItem.Contents = textTranslated
                if(targetFileFormat == "gif"):
                    doc.SaveAs(r"D:\Design\Produktion\de\%s" % targetFile, gifSaveOptions,  True, 2)
                if(targetFileFormat == "jpg"):
                    doc.SaveAs(r"D:\Design\Produktion\de\%s" % targetFile, jpgSaveOptions,  True, 2)
役に立ちましたか?

解決

これを行うには、「データドリブン デザイン」を使用できます。という概念もあります データ駆動型設計 コンピューターサイエンスの分野ですが、私の知る限り、これはPhotoshopでのこの言葉の使用とは関係ありません。

続行方法は次のとおりです。

Photoshop に画像をロードし、次のように変数を定義します。 画像 > 変数 > 定義.

次に、CSV を Photoshop が読み取れる形式に変換します。私は最高の経験をしました タブ区切りのテキスト.

最後にPhotoshopにテキストファイルを読み込みます。 画像 > 変数 > データセット Photoshop にすべての反復を保存させます。

最初にこれを試したとき、Photoshop のヘルプ ファイルには十分な詳細が記載されていないことがわかりました。インターネットで検索しました Photoshopの「データセット」 そしていくつかの良いチュートリアルを見つけました。これはから デジタルチューター.

他のヒント

これは、あまりにも少しオフになる場合もありますが、私は正確に同じ問題を処理するには、Adobe AlterCast / Grphicsサーバーを使用しています。

そのわずかテキストGIF / JPGイメージ場合は、

また、あなたは、Python + PIL(Pythonのイメージングライブラリ)を使用することができます。 ここではサンプルコードは(インストールのArialと大阪のフォントを使用してWindows OS上で動作します。)です。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import ImageFont, ImageDraw, Image
#font = ImageFont.truetype("/usr/share/fonts/bitstream-vera/Vera.ttf", 24)
#font = ImageFont.truetype("futuratm.ttf", 18)
font = ImageFont.truetype("arial.ttf", 18)
im = Image.new("RGB", (365,20), "#fff")
draw = ImageDraw.Draw(im)
draw.text((0, 0), "Test Images", font=font, fill="#000")
im.save("TestImg_EN.gif", "GIF")


font = ImageFont.truetype("osaka.ttf", 18)
im = Image.new("RGB", (365,20), "#fff")
draw = ImageDraw.Draw(im)
draw.text((0, 0), u"テストイメージ", font=font, fill="#000")
im.save("TestImg_JP.gif", "GIF")
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top