TranslateProject/published/20230303.1 ⭐️ How I automate graphics creation with Inkscape.md

99 lines
5.8 KiB
Markdown
Raw Normal View History

[#]: subject: "How I automate graphics creation with Inkscape"
[#]: via: "https://opensource.com/article/23/3/automate-graphics-production-inkscape"
[#]: author: "Máirín Duffy https://opensource.com/users/mairin"
[#]: collector: "lkxed"
[#]: translator: "wxy"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15610-1.html"
我如何用 Inkscape 实现图形创作自动化
======
![][0]
> 跟随这个 Inkscape 教程,大量创建会议讲座卡图形。
我录制了一个 [15 分钟长的教程][1],演示如何在 [Inkscape][2] 中从 CSV 文件或电子表格中自动生成图形(基本上是邮件合并类图形)。它使用了 Maren Hachmann 的 [Next Generator Inkscape 扩展][3]。
你可以在 [Fedora 设计团队在 Linux Rocks 上的 PeerTube 频道][4]PeerTube 是开源的!)或下面的嵌入式 YouTube 视频中观看。
![][4a]
在这篇文章中,我提供了一些关于这个教程相关的背景。我还包括了对视频中内容的一个非常简要的总结,以防你宁愿草草浏览文字而不看视频。
### 会议讲座卡图形
每个 Flock/Nest 都需要为你在举办虚拟会议的在线平台上的每个讲座提供一个图形。像这样的大型活动,通常有大约 50 个或更多的讲座。这需要大量手工制作的图形。
通过本教程,你将学习如何在 Inkscape 中制作这样的模板。
![图片显示 Inkscape 模板的一个例子][5]
CSV 文件类似这样:
| CONFERENCENAME | TALKNAME | PRESENTERNAMES |
| :- | :- | :- |
| BestCon | The Pandas Are Marching | Beefy D. Miracle |
| Fedora Nest | Why Fedora is the Best Linux | Colúr and Badger |
| BambooFest 2022 | Bamboo Tastes Better with Fedora | Panda |
| AwesomeCon | The Best Talk You Ever Heard | Dr. Ver E. Awesome |
将它们结合起来CSV 中的每一行生成一个图形,像这样:
![在 Inkscape 模板上显示 CSV 的图片][6]
会议图形是你如何应用这个教程的一个好例子。你也可以用它来生成名片(它输出的是 PDF、个性化的生日邀请函、教室里学生的个性化图形比如贴在学生课桌上的名卡以及办公室的铭牌。你也可以用它来创建用于标记物品的图形。[作为 Fedora 设计团队的成员][7],你甚至可以用它来为 Fedora 制作很棒的横幅和图片!你可以用它来制作大量的不同用途。你可以应用这种技术的用途有很多,所以让你的想象力飞翔吧。
### Inkscape Next Generator 扩展
创建这些图片的第一步是安装 Maren Hachmann 为Inkscape 创建的 [Next Generator 扩展][3]。
- 到网站上下载 [next_gen.inx][8] 和 [next_gen.py][9]。
- 然后进入 Inkscape的 “<ruby>编辑<rt>Edit</rt></ruby> > <ruby>首选项<rt>Preferences</rt></ruby> > <ruby>系统<rt>System</rt></ruby>”对话框。搜索 “<ruby>用户扩展<rt>User Extensions</rt></ruby>” 目录列表并点击 “<ruby>打开<rt>Open</rt></ruby>” 图标。将 .inx 和 .py 文件拖入该文件夹。
- 最后,你应该关闭所有打开的 Inkscape 窗口并重新启动 Inkscape。新的扩展在 “<ruby>扩展<rt>Extensions</rt></ruby>” 菜单下: “<ruby>扩展<rt>Extensions</rt></ruby> > <ruby>输出<rt>Export</rt></ruby> > Next Generator”。
### 创建一个模板
你的 CSV 文件的每个标题(在我的例子中:`ConferenceName`、`TalkName`、`PresenterNames`)都是一个变量,你可以把它放在 Inkscape 文件中,作为你的模板。[看一下 SVG 模板文件的例子][10],以获得指导。如果你想让 `TalkName` 出现在你的模板中,在 Inkscape中创建一个文本对象并将以下内容放入其中
```
%VAR_TalkName%
```
当你运行扩展时,`%VAR_TalkName%` 文本将被替换为 CSV 中每一行列出的 `TalkName`。因此,对于第一行,`%VAR_TalkName%` 被替换为第一个图形的文本 `The Pandas Are Marching`。对于第二个图形,`TalkName` 是 `Why Fedora is the Best Linux`。继续,直到给每个图形的加上 `TalkName` 列。
### 运行生成器
一旦你的模板准备好了,通过加载你的 CSV运行 `Next Generator` 扩展。然后,选择你想在每个文件名中使用的变量(标题名称),点击 “<ruby>应用<rt>Apply</rt></ruby>” 按钮。
在后面的文章中,我将提供一个关于这个扩展的更高级使用的教程,比如改变每个文件中包含的颜色和图形。
本文最初发表在作者的 [博客][11]上,经许可后重新发表。
--------------------------------------------------------------------------------
via: https://opensource.com/article/23/3/automate-graphics-production-inkscape
作者:[Máirín Duffy][a]
选题:[lkxed][b]
译者:[wxy](https://github.com/wxy)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/mairin
[b]: https://github.com/lkxed/
[1]: https://peertube.linuxrocks.online/w/sf8Vqgg3aRkPKpb7KMsHgH
[2]: http://inkscape.org
[3]: https://gitlab.com/Moini/nextgenerator
[4]: https://peertube.linuxrocks.online/c/fedora_design/videos
[4a]: https://youtu.be/IxZC4gNwFyM
[5]: https://opensource.com/sites/default/files/2023-02/InkscapeTemplateExample.png
[6]: https://opensource.com/sites/default/files/2023-02/Bamboo-Tastes-Better-with-FedoraINKSCAPE.png
[7]: https://matrix.to/#/#design:fedoraproject.org
[8]: https://gitlab.com/Moini/nextgenerator/-/raw/master/next_gen.inx?inline=false
[9]: https://gitlab.com/Moini/nextgenerator/-/raw/master/next_gen.py?inline=false
[10]: https://gitlab.com/fedora/design/team/tutorials/inkscape-automation/-/blob/main/template-simple.svg
[11]: https://blog.linuxgrrl.com/2022/07/19/how-to-automate-graphics-production-with-inkscape/
[0]: https://img.linux.net.cn/data/attachment/album/202303/09/113944o6m8mdqmgmq1ey8y.jpg