2009-07-07 6 views
15

Je dois extraire le texte des calques dans un fichier PSD Photoshop sur Linux. Est-ce que quelqu'un sait comment faire ça? Gimp pixellise le texte et vous ne pouvez pas le copier et le coller. Notez également que je ne possède pas le programme Photoshop.Comment extraire le texte d'un fichier PSD?

+0

similaires à cette question: http://stackoverflow.com/questions/850899/editing-photoshop-psd-text-layers-programmatically –

+0

similaires? J'ai le même problème. – jrosell

Répondre

23

Avez-vous essayé d'utiliser vim? VIM est livré avec un drapeau qui vous permet d'éditer un fichier binaire.

J'essayé de modifier un fichier PSD avec:

vim -b file.psd 

Ceci est un exemple de ce que je suis arrivé lors de l'édition du fichier:

      <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

Je reçois du texte en faisant cela, mais tout le texte ne passe pas par là – rado

+1

J'ai travaillé avec brio pour moi; merci alfredodeza! – Screenack

+1

OK, maintenant que je suis sur mon fichier PSD 10, vous devez regex deux caractères pour que cela fonctionne (au moins avec le format CSD CS3): "^ 0" à "" (vide) et^M à "\ r "rend plus facile de voir le texte. – Screenack

2

Visitez le site Internet http://www.bram.us/2008/10/30/ps_bramustextconvert-psd2txt-and-txt2psd-for-the-masses/. Il existe deux outils pour exporter et importer du texte à partir de fichiers psd. Ça va très bien!

+0

J'ai regardé, mais je ne l'ai pas vu. Souhaitez-vous fournir un lien plus spécifique? – rado

+1

Dans le cas où quelqu'un trébuche sur cette page, c'est ici: http://www.bram.us/2008/10/30/ps_bramustextconvert-psd2txt-and-txt2psd-for-the-masses/ – kikito

+0

Les scripts de ce site semblent exiger photoshop, ce qui est exclu par la question de l'utilisateur. –

11

Le fichier temp.txt contiendra toutes les chaînes de texte brut à partir du fichier, y compris certains paramètres PSD supplémentaires. Vous devrez rechercher manuellement ce fichier pour le texte dont vous avez besoin.

+2

c'est brillant – bjesus

+1

Cet outil est excellent. Mais j'ai dû faire face à un très grand PSD, qui a abouti à une température de chat sans fin.txt' donc j'ai utilisé le drapeau '-d' pour réduire la quantité de texte lue depuis le PSD, et' -e S' pour dire à l'outil 'strings' que le texte que je voulais était UTF-8 (sans cela je me suis foutu des caractères latins). La commande complète serait alors: 'strings -d -e S FILENAME> temp.txt' – aesede

9

Nous venons de publier cette fonctionnalité dans le package NPM psd-cli. Il est simple d'extraire le contenu du texte sans le mal de tête en cours d'exécution manuellement dans le fichier ...

commande d'une ligne d'installation (besoins NodeJS/NPM installed)

npm install -g psd-cli

Vous pouvez alors l'utiliser en tapant dans votre terminal

psd myfile.psd -t

Cela va créer myfile.txt, contenant tous texte extrait de chaque couche PSD avec la structure de couche attachée.

Profitez-en!

npmjs.org package description

+0

Désolé, cela n'a pas fonctionné dans mon cas, peut-être le fichier était trop grand avec des noms de couches longues (un désordre). FYI J'ai obtenu ceci: 'Traitement myfile.psd ... [TypeError: Impossible de lire la propriété 'remplacer' de null]' – aesede

+0

Je serais heureux de déboguer ce si vous me fournissez un exemple de fichier, et si possible envoyer un problème sur Github – kartsims