2009-07-07 31 views
15

Tôi cần trích xuất văn bản từ các lớp trong tệp PSD photoshop trên Linux. Có ai biết làm thế nào để làm điều đó? GIMP rasterizes văn bản và bạn không thể sao chép và dán nó. Ngoài ra, lưu ý rằng tôi không sở hữu chương trình Photoshop.Làm cách nào để trích xuất văn bản từ tệp PSD?

+0

Tương tự như câu hỏi này: http://stackoverflow.com/questions/850899/editing-photoshop-psd-text-layers-programmatically –

+0

tương tự? Tôi có cùng một vấn đề. – jrosell

Trả lời

23

Bạn đã thử sử dụng vim chưa?

VIM đi kèm cờ cho phép bạn chỉnh sửa tệp nhị phân.

tôi đã cố gắng chỉnh sửa một tập tin PSD với:

vim -b file.psd 

Đây là một ví dụ về những gì tôi nhận được khi chỉnh sửa 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> 
+0

Tôi nhận được một số văn bản khi làm điều đó, nhưng không phải tất cả các văn bản đi qua cách đó – rado

+1

Làm việc rực rỡ cho tôi; cảm ơn alfredodeza! – Screenack

+1

OK, bây giờ tôi đang ở trên tệp 10 PSD của tôi, bạn phải regex hai ký tự để thực hiện công việc này (ít nhất với định dạng PS3 PSD): "^ 0" đến "" (trống) và^M đến "\ r "làm cho nó dễ dàng hơn để xem văn bản. – Screenack

2

thăm các trang web internet http://www.bram.us/2008/10/30/ps_bramustextconvert-psd2txt-and-txt2psd-for-the-masses/. Có hai công cụ để xuất và nhập văn bản từ các tệp psd. Nó rất tốt!

+0

Tôi đã nhìn, nhưng tôi không thấy nó. Bạn có cung cấp liên kết cụ thể hơn không? – rado

+1

Trong trường hợp bất cứ ai tình cờ gặp phải trang này, nó ở đây: http://www.bram.us/2008/10/30/ps_bramustextconvert-psd2txt-and-txt2psd-for-the-masses/ – kikito

+0

Kịch bản của trang web này dường như yêu cầu photoshop, được loại trừ bởi câu hỏi của người dùng. –

11

Tập tin temp.txt sẽ chứa tất cả các chuỗi văn bản thuần tuý từ tệp, bao gồm một số cài đặt PSD bổ sung. Bạn sẽ phải tìm kiếm thủ công tệp này cho văn bản bạn cần.

+2

điều này là rực rỡ – bjesus

+1

Công cụ này là tuyệt vời. Nhưng tôi đã phải đối phó với một PSD rất lớn, dẫn đến một con mèo không bao giờ kết thúc.txt' vì vậy tôi đã sử dụng cờ '-d' để thu hẹp số lượng văn bản đã đọc từ PSD và' -e S' để nói với công cụ 'strings' rằng văn bản tôi muốn là UTF-8 (không có ký tự latin này). Lệnh đầy đủ sau đó sẽ là: 'strings -d -e S FILENAME> temp.txt' – aesede

9

Chỉ cần phát hành tính năng này trong gói NPM psd-cli. Làm cho nó đơn giản để trích xuất nội dung văn bản mà không có sự đau đầu của tay chạy qua các tập tin ...

Một dòng lệnh cài đặt (cần NodeJS/NPM installed)

npm install -g psd-cli

Sau đó, bạn có thể sử dụng nó bằng cách gõ trong terminal của bạn

psd myfile.psd -t

này sẽ tạo myfile.txt, chứa tất cả văn bản được trích xuất từ ​​mỗi lớp PSD với cấu trúc lớp được đính kèm.

Tận hưởng!

npmjs.org package description

+0

Xin lỗi, điều này không làm việc trong trường hợp của tôi, có thể tệp quá lớn với tên lớp dài (một mớ hỗn độn). FYI Tôi đã nhận được điều này: 'Processing myfile.psd ... [TypeError: Không thể đọc thuộc tính 'replace' of null]' – aesede

+0

Tôi rất sẵn lòng gỡ lỗi này nếu bạn cung cấp cho tôi một tệp ví dụ và nếu có thể, hãy gửi sự cố Github – kartsims

Các vấn đề liên quan