如何利用EXCEL、CSV在图像上写值
我在EXCEL表格中有很多名字。我想把它们一个一个地写在一个图像上。图像被重复。同一张图片显示了一个名字。 请告诉我如何使用Photoshop或其他方法编写代码/手册/。 http://prntscr.com/kowpr4
解决方案
首先,我建议您将电子表格导出为某种开放、非微软、非专有的格式,如csv文件。
假设它如下所示,名为"names.csv"
:
William, Gates
Kermit, Frog
现在,获取一份必不可少的ImageMagick并安装它。
现在您需要生成一个像样的质量徽章图像,而不是您链接到的可怕的徽章图像。我做了我的1200x760-如果你想让东西正确地对齐,就拿这个吧:
然后,您将需要一个脚本来迭代名称列表。我使用bash
,但您也可以使用Windowsfor
循环,如here:
#!/bin/bash
counter=1
while IFS=', ' read first last; do
filename="badge-$counter.jpg"
echo Generating file $filename, for $first, $last
magick -font ComicSansMSB -background none -fill magenta -size 420x60 caption:"$first" first.png
magick -font Verdana -background none -fill blue -size 420x60 caption:"$last" last.png
magick badge.png first.png -geometry +710+360 first.png -composite last.png -geometry +710+460 -composite "$filename"
((counter+=1))
done < names.csv
因此,对于文件中的每一行,我都读到了名字和姓氏。我有一个计数器,它为每个文件(i
)递增,以便我可以生成唯一的文件名。
然后,我制作了一个小图像,其大小与文本字段相匹配,名为"first.png
,带有名字。同样,对于姓氏,还有一个名为"last.png"
的文件。我用不同的字体和颜色做它们,只是为了好玩,这样你就可以看看怎么做了。然后我加载工卡模板,在设置正确的位置后,将名称合成到工卡上,并使用唯一的文件名保存。
我已经标记了一张图像,这样您就可以看到尺寸的来源:
关键词:ImageMagick、表单填写、表单填写、徽章、姓名徽章、自动、自动、脚本化、命令行、命令行、Excel、CSV。
相关文章