首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在图像中创建占位符,并在以后替换它?

问是否可以在图像中创建占位符,并在以后替换它?
EN

Stack Overflow用户
提问于 2020-05-13 05:55:27
回答 1查看 212关注 0票数 0

我被要求制作一个php软件,管理员/用户可以导入certificate of attendance模板,然后导入名称列表,然后该软件应该会生成带有列表中的名称的证书映像。

我的初步想法是,证书应该是图像形式的,并有一个占位符替换为名称,例如:

​

​

在这里,我们可以用列表中的名称替换<Type Person's Name Here>占位符。

不幸的是,这一切都是理论上的,我不能仅仅在.jpg或.png文件中搜索占位符来替换它。

经过一些研究,我发现一些网站提供的证书模板是一种开放标准的.ai和.eps,都可以用Adobe Illustrator打开,然后你会发现所有的文本都是可编辑的,你可以简单地替换名称占位符example。

问题是,这两种文件类型都是专有的,我怀疑我能否找到一个php库来轻松地编辑它们。

这与20253386中的情况非常相似,除了需要更改证书模板之外,如果我只有一个证书模板,那么我只需要知道名称占位符的坐标并使用Imagick::annotateImage,但对于可导入的模板,我不知道应该根据证书设计放置名称。

那么我还有什么其他选择呢?是否有用于图像模板的开放标准?有没有其他方法来解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2020-05-13 13:48:40

我会将坐标的问题推给用户,并为模板图像设计一些简单的编码系统,可能使用文件名。例如,如果您有两个文件:

代码语言:javascript
复制
CertificateOfAttendance2020 name@200,200 description@200,300 date@100,500.png
CertificateOfEnrolment2020 name@200,200 date@100,500.png

你可以解析它们的名字,比如拆分空格,取第一个作为名字,把其他的拆分成@,取第一个比特作为字段的名称,第二个比特作为放置位置的x,y。

在选取器中向用户显示模板名称部分。当他们选择例如出勤证书时,说“此证书需要三个额外的信息”,并将这些字段动态放入您的UI中:

代码语言:javascript
复制
Name:
Description:
Date: defaulted to today

或者当他们选择注册时,只需向他们显示两个字段

让用户输入他们想要的东西,使用一些工具将这些东西放在坐标上。它是设计图像的人,应该提供坐标。如果你也为此编写了一个工具,那么这个工具就可以命名这个文件。也许你可以有一些方法来编码左/右/居中对齐,字体大小和字体。也许最终您只需要在文件名中添加一块css,然后丢弃整个文件,并将其替换为一个描述世界上最复杂证书的html文件,并且在html中包含占位符,图像将只是一个背景:)

生成图像,可以是一个像imagemagick这样的图像库,你可以将其作为html div,使用大图像和绝对位置,然后使用例如wkhtmltopdf来使其成为pdf。有很多选择,我们不是为你设计它的.(尽管它看起来可能就是我做的)。我们没有“为你设计你的系统”的原因是,什么是最好的是相当主观的,并且没有正确的答案--我上面谈到的方法可能有很多缺陷,可能使它不适合你的环境。我的观点纯粹是,你需要找到某种方法来存储/关联你需要询问的数据(名称,描述)和图像,该图像提供了背景和信息,驱动这些东西应该放在哪里-我试图让这个“答案”充满“可以做”和“也许”,而不是“应该做”,因此我真的认为它只是对一个基本上离题的问题的扩展评论-这里只有一个事实真正使它成为一个答案(上面以粗体显示)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61762704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档