13

1 つの特定のレイヤーがラスタライズされていないテキストであるマルチレイヤー PSD があります。bash/perl/python/whatever-else プログラムから、できる方法を見つけようとしています:

  1. PSDを読み込む
  2. 上記のレイヤーのテキストを編集します
  3. 画像内のすべてのレイヤーを平坦化
  4. PNG や JPG などの Web に適した形式で保存する

すぐにImageMagickを思いつきましたが、テキストレイヤーを IM で編集できるとは思えません。最初の 2 つのステップを別のプログラムで実行できる場合は、いつでも ImageMagick を使用して最後の 2 つのステップを実行できます。

CPANとPyPIを数時間グーグルで検索した後、まだ有望なものは何も見つかりませんでした. このテーマについてアドバイスやアイデアを持っている人はいますか?

4

6 に答える 6

6

公式にサポートされているAppleScript、JavaScript、またはVBScriptを使用したくない場合は、Pythonで使用することもできます。これは、PhotoshopのCOMインターフェイスに依存するPythonを使用したPhotoshopスクリプトの記事で説明されています。

私は試したことがないので、うまくいかない場合:SVGに変換した後もテキストが保持されている場合は、好きなツールに置き換えるだけです。その後、PNGに変換します(例:by inkscape --export-png=...)。

于 2009-05-12T07:07:47.523 に答える
4

PSD 内のテキストの変更を自動化する唯一の方法は、正規表現ベースの置換を使用することです。

  1. Photoshop で非常に単純な画像を作成します。たとえば、白い背景とテキスト レイヤーで、テキストの長さがわかっているものを作成します。
  2. ファイルでテキストを検索し、16 進エディタを使用して近くでテキストの長さを検索します (ファイル形式の一部である場合とない場合があります)。
  3. テキストを最初に同じ長さの文字列に変更してから、短い/長い文字列に変更してみてください。
  4. 変更するたびに Photoshop で開いて、ファイルが破損していないかどうかを確認します。

この方法は、実行可能な場合、問題のレイヤーに既知の文字列が含まれている場合にのみ機能し、他の値に置き換えることができます。この方法を試すための Photoshop がこのコンピューターにないため、これが機能するかどうかはわかりません。おそらくあなたはそれを機能させることができますか?

pngへの変換に関しては、私は途方に暮れています。置換スクリプトが Python にある場合は、Python Imaging Library (PIL、サポートされているようです) で実行できる場合がありますが、それ以外の場合は、変換を行うために Photoshop を開く必要がある場合があります。つまり、そもそもテキストを実用的に変更する価値はおそらくないでしょう。

于 2009-05-12T05:18:51.663 に答える
3

GIMPで画像を開いて編集することを検討しましたか?非常に優れたPSDサポートがあり、いくつかの言語でスクリプトを作成できます。

どちらを使用するかはプラットフォームによって異なりますが、私が最後に知ったWindowsではPerlインターフェースが機能しませんでした。スキームはすべてのポートでサポートされていると思います。

于 2009-05-12T08:12:17.183 に答える
2

Photoshop自体を使用して、OLEでこれを行うことができます。もちろん、Photoshopをインストールする必要があります。PerlのWin32::OLEまたはPythonの同様のモジュール。http://www.adobe.com/devnet/photoshop/pdfs/PhotoshopScriptingGuide.pdfを参照してください

于 2009-05-12T10:35:01.350 に答える
1

Photoshop を自動化する場合は、ほとんどの場合、Photoshop 独自のスクリプト システムを使用する必要があります。それを回避する方法はないと思います。

問題を別の方法で見ると、Photoshop から、ImageMagick で編集可能な PNG などのレイヤーをサポートする他の形式にエクスポートできますか?

于 2009-05-12T03:01:50.310 に答える
0

Node.js を使用してこれを試すこともできます。PSDコマンドラインツールを作りました

1 行のコマンドでインストール (NodeJS/NPM のインストールが必要)

npm install -g psd-cli

その後、端末に入力して使用できます

psd myfile.psd -t

コードをチェックアウトして、別のノード スクリプトから使用するか、別の Bash/Perl/任意のスクリプトからシェルを介して使用できます。

于 2016-01-28T10:14:20.030 に答える