我在Excel工作表中有很多名字。我想一张一张地写它们。图像重复。同一张图片显示一个名字。 请告诉我如何使用Photoshop或其他方法编写代码。 http://prntscr.com/kowpr4
答案 0 :(得分:3)
首先,我建议您将电子表格导出为一些开放的,非Microsoft的,非专有的格式,例如CSV文件。
假设它看起来像这样,称为"names.csv"
:
William, Gates
Kermit, Frog
现在,获取必不可少的 ImageMagick 的副本并进行安装。
现在,您需要生成高质量的徽章图像,而不是链接到的图像。我制作的是我的1200x760-因此,如果您希望一切正确对齐,请抓住它:
然后,您将需要一个脚本来遍历名称列表。我正在使用bash
进行此操作,但是您可以使用Windows for
循环,例如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。