2009-07-07 3 views
15

Мне нужно извлечь текст из слоев в PSD-файле для фотошопа на linux. Кто-нибудь знает как это сделать? Gimp растеризует текст, и вы не можете его копировать и вставлять. Кроме того, обратите внимание, что я не владею программой Photoshop.Как извлечь текст из файла PSD?

+0

Похожий на этот вопрос: http://stackoverflow.com/questions/850899/editing-photoshop-psd-text-layers-programmatically –

+0

Аналогичного? У меня такая же проблема. – jrosell

ответ

23

Вы пробовали использовать vim?

VIM поставляется с флагом, который позволяет редактировать двоичный файл.

Я попробовал редактирование PSD-файл с:

vim -b file.psd 

Это пример того, что я получил при редактировании файла:

      <dict> 
            <key>com.apple.print.PageFormat.PMAdjustedPageRect</key> 
            <array> 
              <real>0.0</real> 
              <real>0.0</real> 
              <real>576</real> 
              <real>734</real> 
            </array> 
            <key>com.apple.print.ticket.stateFlag</key> 
            <integer>0</integer> 
          </dict> 
+0

Я получаю текст при этом, но не весь текст проходит через этот путь – rado

+1

Работал блестяще для меня; спасибо alfredodeza! – Screenack

+1

OK, теперь, когда я нахожусь в моем 10 PSD-файле, вам нужно повторно выделить два символа, чтобы сделать эту работу (по крайней мере, с CS3-PSD-форматом): «^ 0» до «» (пустой) и^М до «\ r «упрощает просмотр текста. – Screenack

2

Посетите интернет-сайт http://www.bram.us/2008/10/30/ps_bramustextconvert-psd2txt-and-txt2psd-for-the-masses/. Существует два инструмента для экспорта и импорта текста из файлов psd. Все идет хорошо!

+0

Я посмотрел, но я этого не видел. Вы указали бы более конкретную ссылку? – rado

+1

В случае, если кто-то натыкается на эту страницу, он находится здесь: http://www.bram.us/2008/10/30/ps_bramustextconvert-psd2txt-and-txt2psd-for-the-masses/ – kikito

+0

Скрипты этого сайта, похоже, требуют фотошоп, который исключается по запросу пользователя. –

11

Файл temp.txt будет содержать все простые текстовые строки из файла, включая некоторые дополнительные PSD настройки. Вам придется вручную искать этот файл для текста, который вам нужен.

+2

это великолепно – bjesus

+1

Этот инструмент отличный. Но мне приходилось иметь дело с очень большим PSD, результатом которого стал бесконечный кошачий темп.txt', поэтому я использовал флаг '-d', чтобы сузить количество прочитанного текста из PSD и' -e S', чтобы сказать инструменту 'strings', что текст, который я хотел, был UTF-8 (без этого я получил испорченные латинские символы). Тогда полная команда будет следующей: 'strings -d -e S FILENAME> temp.txt' – aesede

9

Только что выпустил эту функцию в пакете NPM psd-cli. Делает его простым для извлечения содержимого текста без головной боли работает вручную через файл ...

команды Однострочной установки (требуется NodeJS/NPM installed)

npm install -g psd-cli

Вы можете использовать его, набрав в терминале

psd myfile.psd -t

Это создаст myfile.txt, содержащее все текст, извлеченный из каждого слоя PSD с прикрепленной структурой слоев.

Наслаждайтесь!

npmjs.org package description

+0

Извините, это не сработало в моем случае, возможно, файл был слишком большим с длинными именами слоев (беспорядок). FYI Я получил следующее: 'Обработка myfile.psd ... [TypeError: Не могу прочитать свойство« replace »of null]' – aesede

+0

Я был бы рад отладить это, если вы предоставите мне пример файла, и, если возможно, отправьте вопрос о Github – kartsims

Смежные вопросы