跳转到主要内容

Plone的PDFreactor集成

项目描述

此附加包通过pdfreactor-api包提供的RealObjects PDFreactor客户端API,将PDFreactor集成到Plone中。

要有效使用它,您需要

  • 运行中的PDFreactor服务器

  • 访问它所需的密钥;根据服务器配置

功能

  • 内容对象的一个简单@@as.pdf浏览器视图(提供带有标准选项的同步PDF导出)

  • 一个自定义表单@@pdfreactor-connection-settings,用于编辑连接设置(这些设置存储在Plone注册表中)

  • 一个简单的 @@pdfreactor-config 视图,提供基本的 转换 设置(即创建来自受限内容的PDF导出的Zope cookies)

    有关在注册表中提供可自定义转换设置的包,请参阅下文。

  • 一个简单的CSS样式表,默认配置使用它来抑制不感兴趣的页面部分

安装

Plone环境通常使用 zc.buildout 构建;因此,将以下内容添加到您的 buildout.cfg 脚本中

[buildout]
...
eggs =
    pdfreactor.plone

然后运行 bin/buildout

这将为您获得 pdfreactor-api 包。

重启您的Zope实例后,您将在快速安装器或Plone插件视图中找到该包。

在此安装(或激活)包后,访问 @@pdfreactor-connection-settings 您的Plone实例视图 以自定义您的PDFreactor连接设置(URL、许可证和/或API密钥)。

有关PDFreactor服务本身的安装说明,请参阅 PDFreactor支持

定制

Zope / Plone

您有几种选择

  • 您可以继承我们的 .base.Exporter BrowserView 类(它提供 @@as.pdf 视图)并重写其中的一些方法,例如

    • converted_url

    • conversionSettings

  • 您可以将我们的 BrowserView 类或其子类连接到比 IContentish 更具体的接口。 (您可能需要一个层接口以避免配置冲突)。

  • 您可以重写 @@pdfreactor-config 视图以修改转换选项(通常是通用的,或通过接口)。

    一个提供全局“TTW”可定制配置的附加包是 pdfreactor.parsecfg

有关如何执行此操作的说明,请参阅Zope / Plone文档。

PDFreactor

有关PDFreactor本身的受支持方法和配置选项的详细信息,请参阅 RealObjects GmbH 的文档

支持

如果您在Plone集成方面遇到问题,请告诉我们;请使用上面提到的 问题跟踪器

有关PDFreactor本身的问题,请参阅 RealObjects GmbH

贡献

(到此Plone集成包:)

许可证

该项目采用MIT许可证。

作者

更改日志

1.0.4 (2023-12-08)

杂项

  • __noduplicate 添加到cookie列表中。

    如果您使用 no_duplicate_login PAS插件(Products.NoDuplicateLogin),则此操作非常重要;否则,创建PDF文档或截图可能会失败。或者PDFreactor可能会让您退出。

[tobiasherp]

1.0.3 (2023-04-05)

新功能

  • .base.Exporter类现在提供了一个自己的 .convert 方法,它接受 binaryasyncstream 参数,并在内部调用适当的转换方法。

    目前,它将返回

    • None,如果提供了 stream

    • 如果提供了 binary(且未提供 stream),则返回二进制数据,

    • 如果提供了 async,则返回 document_id

    • 否则返回包含所有元信息的 dict

改进

  • .base.Exporter类现在提供了一个(并使用了)conversionSource方法,该方法反过来使用现有的 converted_url 方法。

    注意:如果提供文本而不是URL作为文档配置键,您可能还需要指定一个baseUrl;否则,反应器在转换过程中可能无法加载样式表或图像。

开发提示

  • 在开发和测试您的PDFreactor转换时,请确保您有多个Zope工作线程准备就绪;否则,当反应器向您的实例发送请求时,您可能会遇到HTTP错误!

  • 我们提供原始API(来自PDFreactor分发)作为.raw_api模块(用于开发和测试;有助于检查某个问题是否与我们的Python化措施有关)。

    以防万一。

[tobiasherp]

1.0.2 (2023-01-20)

新功能

  • 关于对MathML的支持

    • 添加了一个@@pdfreactor-mathjax-vars.js视图(用于配置),以及

    • 一个++resource++pdfreactor.plone/mathjax2-run.js脚本,以简化MathJax集成。

    这目前尚不可配置,但可能很快就会。

    注意:PDFreactor v11.6.3(2023-03-07)包含了一个修复,该修复解决了导致MathML导出为“连续媒体”失败的错误。

  • @@as.pdf方法支持一个method选项;例如,调用.../my/page/@@as.pdf?method=@@from-screenshot可以从.../my/page/@@from-screenshot创建PDF文件。

[tobiasherp]

1.0.1 (2022-09-20)

杂项

  • 由于Zope cookies被视为config信息,因此connectionSettings方法不再返回任何cookie。

  • 现在,.base.Exporter提供了一个用于在派生视图类中使用并覆盖不使用@@pdfreactor-config的conversionSettings方法的getZopeCookies方法。

[tobiasherp]

1.0.0 (2022-07-12)

  • 首次发布。[tobiasherp]

项目详情


下载文件

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

源分发

pdfreactor.plone-1.0.4.tar.gz (28.2 kB 查看哈希

由以下支持