跳转到主要内容

基于weasyprint库的Plone内容PDF导出。

项目描述

https://github.com/plone/plone.pdfexport/actions/workflows/plone-package.yml/badge.svg Coveralls Latest Version Egg Status https://img.shields.io/pypi/pyversions/plone.pdfexport.svg?style=plastic:alt:Supported-PythonVersions License

plone.pdfexport

为Plone内容提供PDF导出功能。

功能

  • 导出文档、事件、新闻条目和其他自定义内容。

  • 可以通过CSS在PDF导出控制面板中进行自定义。

  • 长表格将在多页上渲染,表头将在每一页重复。

  • 可以使用Plone body标签CSS类来定义特定Plone内容的CSS规则。

https://github.com/plone/plone.pdfexport/raw/main/docs/plone-pdfexport.gif

此插件基于优秀的WeasyPrint库

翻译

此产品已翻译成

  • 英语

  • 德语

安装

通过将其添加到您的buildout中安装plone.pdfexport

[buildout]

...

eggs =
    plone.pdfexport

然后运行 bin/buildout

注意:对于Python 2(Plone 5.1),您必须固定一些包

weasyprint = 0.42.3 cairocffi = 0.9.0 tinycss2 = 0.6.1 soupsieve = 1.9.6 cssselect2 = 0.2.2

使用方法

安装插件后,您可以在任何Plone内容上调用“aspdf”视图。

http://localhost:8080/Plone/news/aspdf

为了测试,您可以在GET参数中添加“html=1”,以便在将其渲染为PDF之前查看HTML版本。

http://localhost:8080/Plone/news/aspdf?html=1

我们提供竖排和横排模式,并为每种模式设置单独的页面设置。

@page {
    margin: 2.75cm 1.4cm 1.4cm 1.4cm;
    size: landscape;
    @top-center {
        font-size:12px;
        color:#666666;
        content: "Beautiful Plone content, deserves a beautiful PDF export!";
    }
    @bottom-left {
        font-size:12px;
        color:#666666;
        content: "provided by derico.de";
    }
    @bottom-right {
        font-size:12px;
        color:#666666;
        content: "Page " counter(page);
    }

}

您可以设置默认模式。要使用不同的模式,您可以添加请求参数。

http://localhost:8080/Plone/front-page/aspdf?mode=landscape
http://localhost:8080/Plone/front-page/aspdf?mode=portait

作者

此插件由 Derico [MrTango] 构建。

贡献

支持

如果您遇到问题,请告诉我们。

许可协议

该项目采用GPLv2许可。

贡献者

变更日志

2.2 (2024-07-21)

  • 添加横幅图像字段,在页面标题中渲染横幅 [MrTango]

2.1 (2022-11-04)

  • 修复python_requires定义 [MrTango]

  • 要求Py >=3.7并删除restapi down pinning [MrTango]

2.0 (2021-10-26)

  • 提供两种页面模式(横排和竖排)的默认设置,并通过请求模式参数进行切换 [MrTango]

1.1 (2021-10-08)

改进图像处理,现在也支持原始图像(没有@@images/scales)。

[MrTango]

1.0 (2021-10-06)

  • 改进德语翻译 [MrTango]

  • 改进错误处理并添加更多测试 [MrTango]

1.0b1 (2021-07-15)

  • 在自定义WeasyPrint url_fetcher中内部解析图像,这消除了对WeasyPrint解析URL的需求,这在权限或https证书问题上是问题 [MrTango]

1.0a4 (2021-07-14)

  • 目前不要在weasyprint中使用optimize_images=True,它仅在Py3版本中工作 [MrTango]

1.0a3 (2021-07-14)

  • 将print_image_scale添加到控制面板,并使用自定义图像缩放进行PDF导出 [MrTango]

1.0a2 (2021-07-14)

  • 修复PDF导出中缺少封面图像视图组件 [MrTango]

  • 将内容CSS类与body标签类合并,而不是覆盖它们 [MrTango]

1.0a1 (2021-07-13)

  • 初始发布。 [MrTango]

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码分发

plone.pdfexport-2.2.tar.gz (4.2 MB 查看散列值)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面