How to extract text from a PSD file?
Asked Answered
H

5

18

I need to extract the text from the layers in a photoshop PSD file on linux. Does anyone know how to do that? Gimp rasterizes the text and you can't copy and paste it. Also, note that I do not own the Photoshop program.

Hendon answered 7/7, 2009 at 18:48 Comment(2)
Similar to this question: #851399Refract
Similar? I have the same problem.Irony
K
29

Have you tried using vim?

VIM comes with a flag that lets you edit a binary file.

I tried editing a PSD file with:

vim -b file.psd

This is an example of what I got when editing the file:

                            <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>
Keane answered 7/7, 2009 at 19:9 Comment(3)
I get some text when doing that, but not all the text comes through that wayHendon
OK, now that I'm on my 10 PSD file, you have to regex two chars to make this work (at least with CS3 PSD format): "^0" to "" (empty) and ^M to "\r" makes it easier to see the text.Belkisbelknap
I opened the psd file in Notepad++ and changed to a proper encoding and it worked. ThanksSlop
H
17

Just released this feature in the NPM package psd-cli. Makes it simple to extract text content without the headache of manually running through the file...

One-line command install (needs NodeJS/NPM installed)

npm install -g psd-cli

You can then use it by typing in your terminal

psd myfile.psd -t

This will create myfile.txt, containing all text extracted from each PSD layer with the layer structure attached.

Enjoy !

npmjs.org package description

Herndon answered 28/1, 2016 at 10:8 Comment(4)
Sorry, this didn't work in my case, maybe the file was too large with long layer names (a mess). FYI I got this: Processing myfile.psd ... [TypeError: Cannot read property 'replace' of null]Megaspore
I would be happy to debug this if you provide me an example file, and if possible send an issue on GithubHerndon
worked great for me, much better than strings that didn't work with any utf8 chars it seemsBawbee
No need for the -g flag (install globally). Simply npm install psd-cli, then ./node_modules/.bin/psd myfile.psd -t. Once you finished, you can delete the node_modules directory (and the package-lock.json file). No trace.Parrett
J
14
strings FILENAME > temp.txt

The file temp.txt will contain all the plain text strings from the file, including some additional PSD settings. You'll have to manually search this file for the text you need.

Jetpropelled answered 16/7, 2014 at 15:37 Comment(1)
This tool is excellent. But I had to deal with a very large PSD, which resulted in a never-ending cat temp.txt so I used -d flag to narrow the amount of text read from the PSD, and -e S to tell strings tool that the text I wanted was UTF-8 (without this I got messed latin characters). The full command then would be: strings -d -e S FILENAME > temp.txtMegaspore
A
3

You can use Photopea, it is not a desktop app, it runs in browser so you do not need to install anything, just open your psd file, and edit, or copy the text like in Photoshop:

https://www.photopea.com/

Alopecia answered 12/6, 2019 at 8:40 Comment(0)
P
2

Visit the internet site http://www.bram.us/2008/10/30/ps_bramustextconvert-psd2txt-and-txt2psd-for-the-masses/. There are two tools to export and import text from psd files. It goes very good!

Pleione answered 5/3, 2010 at 13:19 Comment(4)
I looked, but I didn't see it. Would you provide a more specific link?Hendon
In case anyone stumbles onto this page, it is here: bram.us/2008/10/30/…Spoonful
This site's scripts seem to require photoshop, which is ruled out by the user's question.Fellatio
Comparison of this option and the omgmog fork here: graphicdesign.stackexchange.com/questions/8411/…Embankment

© 2022 - 2024 — McMap. All rights reserved.