从SVG生成大量PDF的证书生成器
项目描述
从SVG生成大量PDF的证书生成器
如何将其作为库使用
从PyPI安装certg,然后...
>>> import certg >>> certg.process( svg_source, result_prefix, result_distinct, replace_info)
…所有这些必填参数的含义与您在YAML配置中(见下文)中的含义相同。
可选地,您还可以传递以下参数
progress_cb:在处理每个项目之前调用的函数(传递即将处理的项目);非常有用,可以报告进度。
pdf_optimized:如果为True,则将调用Ghostscript来优化最终的PDF文件。
images:替换图像信息(见下文)
一些使用示例
获取代码,并运行
bin/certg examples/certificate.yaml
项目包含example_certificate.yaml,以及它使用的其他文件:example_certificate.svg。
成功执行后,您将获得三个.pdf文件,这是生成结果。
以下是另一个示例,它在输出中插入不同的图像
bin/certg examples/carnet.yaml
最后,如果您想查看使用certg程序进行操作的代码,替换SVG中的多个字段和多个图像,请参阅此实际代码。
您需要安装什么
检查requirements.txt文件以查找所需的Python模块。
在系统级别,您需要安装Inkscape。此外,如果您想优化生成的PDF,则需要安装Ghostscript(gs)。
如何真正使用它,以满足您的特定需求
您需要创建两个文件:配置文件和源SVG。以下是关于这一切如何工作的深入解释,但请记住,您可以获取提供的示例并开始调整它们:)
源SVG是需要将其转换为PDF的SVG,但其中包含了一些指示用于替换文本的位置。这些指示位于花括号内。例如,你可能会有
Thanks {{name}} for all your {{type_of_doing}}!
然后,在配置文件中有一个replace_info变量:它是一个字典列表。每个字典将生成一个包含替换信息的PDF,该字典中的键/值将是需要替换的信息。
请注意,需要在配置中提供所有要替换的属性;例如
name: Foo Bar type_of_doing: support
此外,在配置中还有一些必须填充的变量。这些是
svg_source:你创建的SVG文件的文件名
result_prefix:将要生成的PDF文件名的前缀
result_distinct:在替换属性中用作PDF唯一字符串的变量名。
例如,如果你将certs作为前缀,将name作为唯一值,你将得到一个名为certs-foobar.pdf的输出文件。
目前有一些可选变量用于不同的配置
pdf_optimized:将运行Ghoscript(gs,你需要在系统中安装)来优化生成的PDF。
替换图片
如果你想要替换图片,你需要指示一个单独的images结构,它将提供相关的信息。
此结构将是一个列表,包含你想要在SVG文件中替换的图片数量(NOT你想要生成的PDF数量)。每个项将是一个包含以下内容的字典:
rectangle_id:你想要替换的矩形的SVG中的id(例如,‘rect19351’);你可以通过查看Inkscape中的“对象属性”或最后手段检查SVG源来获取它。
path_variable:你如何命名(在上面的通用替换信息中描述)将保存要替换的图片路径的属性。
可选
placement:实际图片将如何放置在相对于SVG中定义的矩形的关系中。在任何情况下,图片都不会超过矩形定义的边界。它可以有以下任何一种
stretch(默认):图片将被适应以填充整个矩形,如果需要,将更改其关系比例。
center:图片的中心将与矩形的中心相匹配
项目详情
certg-5.1.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 1c22ea288352363234c7ef8297a0334ef7e539fb4f472d34539522e56dd9fa86 |
|
MD5 | a119ffd1dab5d9d3623babfd2c796f50 |
|
BLAKE2b-256 | b1d3b6cc3a9733a575d7faff4063932625fe613812c57234fd055f721778f5a4 |