Indeed - most software able to manipulate PSD images can only work with a subset of it. GIMP itself will only open text PSD layers as pixels.
My hint for your workflow would be to script this from inside photoshop, and create another kind of file, with text-markup, that would be rendered there. Doing that would not be possible through the command line, though -
(maybe it could be automated with GUI automation tools).
Ah - it just hit me - maybe you could work with the SVG file format, and have it converted to PSD later (the conversion would still require manual interaction inside Photoshop though - but maybe the SVG file is close enough you can ship it directly to your final users, isntead of a PSD)
As for an SVG approach: create a new template file in Inskcape, and possition
your 5 blocks of text wherever you like. The final result will contain your text in XML blocks looking like this:
<text
xml:space="preserve"
style="font-size:40px;...font-family:Sans"
x="140"
y="123.79075"
id="text2999"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3001"
x="140"
y="123.79075">MyText here</tspan></text>
Replace the actual text (My text here
) whtih a markup such as {}, and then you can create your svg files with a python oneliner such as:
python -c "import sys; open(sys.argv[2], 'wt').write(open(sys.argv[1]).read().format(*sys.argv[3:]) )" template.svg drawing.svg My other text file shines
The advantage of this approach is that you can actually style and format the template in very detailed ways. (hmm..browsing around, it looks like photoshop can't simply open SVG files...too bad anyway - maybe you can swithch your needed workflow away from it?)