Ho un sito Web in più lingue e ho bisogno di automatizzare il processo di aggiornamento dei file di testo nei file psd da un csv-source.Automatizza Photoshop per inserire il testo dal file
So che potrebbero esserci problemi nella psp a causa delle larghezze modificate, ma in ogni caso sarebbe di grande aiuto avere il testo all'interno dei documenti.
Quali sono le mie opzioni?
EDIT:
Murmelschlurmel ha una soluzione di lavoro. Ecco il link alla documentazione di Adobe.
Il formato del file CSV non è così bello: hai bisogno di una colonna per ogni variabile. Mi aspetterei una riga per ogni variabile.
Funziona con Umlaut (ä, ö ecc)
EDIT 1:
Un'altra soluzione è quella di utilizzare COM per automatizzare Photoshop. È bello se hai un paio di modelli (pulsanti) che hanno bisogno di testo cambiato. Ecco il mio script in Python che potrebbe farti iniziare.
È necessario disporre di un file Excel con colonne: TemplateFileName, TargetFileName, TargetFormat, Testo (cioè template.psd, button1, gif, NiceButton). La prima riga del foglio non viene utilizzata. Il modello psp dovrebbe avere solo 1 testo e non può avere gruppi di lavoro.
import win32com.client
import xlrd
spreadsheet = xlrd.open_workbook("text_buttons.xls")
sheet = spreadsheet.sheet_by_index(0)
psApp = win32com.client.Dispatch("Photoshop.Application")
jpgSaveOptions = win32com.client.Dispatch("Photoshop.JPEGSaveOptions")
jpgSaveOptions.EmbedColorProfile = True
jpgSaveOptions.FormatOptions = 1
jpgSaveOptions.Matte = 1
jpgSaveOptions.Quality = 1
gifSaveOptions = win32com.client.Dispatch("Photoshop.GIFSaveOptions")
for rowIndex in range(sheet.nrows):
if(rowIndex > 0):
template = sheet.row(rowIndex)[0].value
targetFile = sheet.row(rowIndex)[1].value
targetFileFormat = sheet.row(rowIndex)[2].value
textTranslated = sheet.row(rowIndex)[3].value
psApp.Open(r"D:\Design\Produktion\%s" % template)
doc = psApp.Application.ActiveDocument
for layer in doc.Layers:
if (layer.Kind == 2):
layer.TextItem.Contents = textTranslated
if(targetFileFormat == "gif"):
doc.SaveAs(r"D:\Design\Produktion\de\%s" % targetFile, gifSaveOptions, True, 2)
if(targetFileFormat == "jpg"):
doc.SaveAs(r"D:\Design\Produktion\de\%s" % targetFile, jpgSaveOptions, True, 2)
Ho trovato anche questo video utile: http://www.youtube.com/watch?v=i9Ms34nYRFI –
tutorial sulla progettazione guidata dai dati: http://roderickvella.wordpress.com/2014/12/30/photoshop-data -driven-graphics / – Vince