跳转到主要内容

从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 (5.9 kB 查看散列)

上传时间

由以下支持