Skip to main content

PDFreactor configuration parser

Project description

This package provides a parsing facility for the PDFreactor client API, as provided by the pdfreactor-api package.

To effectively make use of it, you’ll need

  • a running PDFreactor server

  • some PDFreactor integration for your framework (or have a look at the example scripts to do it yourself); when using Plone, you may use the pdfreactor.plone package.

Features

  1. A parse_configuration function

  2. In a Plone context, a pdfreactor-config browser view to make basic use of it, i.e. producing a config dictionary from:

  3. a site-global textual conversion configuration which is stored in the Plone registry.

Note: Despite the fact that the license key – unless installed on the server – is put in the config dictionary, we consider this to connection-related, so we don’t expect you to put it in your conversion configuration.

You could do so (specifying it in one single string token), but e.g. our pdfreactor.plone package offers a dedicated setting in the IPdfReactorConnectionSettings interface.

Examples

The textual configuration could for example look like:

# line comments are possible
outputFormat = {
    width: 640,  # and so are eon-of-line comments
    type: OutputType.PNG_TRANSPARENT,
}

The symbols defined by the PDFreactor API class are recognized, so this would be converted to the following config dictionary:

{'outputFormat': {
    'width': 640,
    'type': 'PNG_TRANSPARENT',
    }
 }

This doesn’t look very magic, but it saves you from finding a way to save settings for each possible key; you just need one configuration string.

On the values side, we’ll accept valid configuration symbols only (case sensitively, so OutputType.png_transparent would cause an error) or valid Python string or number tokens; for conveniense, several common names for true, false and nothing are accepted (case-insensitively).

We are still limited in what we can process; for stylesheets, for example, the API expects “objects” (in JSON terms; Python: dictionaries), not just URIs. For now, we take strings as URI specifications:

integrationStyleSheets = ['++resource++pdfreactor.plone/export.css']

is converted to:

{'integrationStyleSheets': [{
    'uri': '++resource++pdfreactor.plone/export.css'
    }]
 }

We provide as well a (still incomplete and/or experimental - “use on your onw risk” - conversion function which allows you to convert API calls, as they have been used until PDFreactor v7; for example:

enableDebugMode()

would be transformed to this config value:

{'debugSettings': {'appendLogs': True}}

This is not done by default; use:

from pdfreactor.parsecfg.oldmethods import convert=convert_api_method
parse_configuration(..., convert=convert_api_method)

to make this happen.

Documentation

Installation

Simply install the configuration parser by using pip:

pip install pdfreactor.parsecfg

or, for projects using buildout, add to your buildout.cfg script:

[buildout]
...
eggs =
    pdfreactor.parsecfg

and then run bin/buildout.

Plone integration

After restarting your Zope instance with pdfreactor.parsecfg (and, likely, pdfreactor.plone) added to your eggs, simply use the Plone Add-Ons view or the Quick-Installer to activate it.

Then you may use the configuration registry and use the IPdfReactorConversionSettings prefix to adjust your conversion preferences.

Possible values

For the values which will be recognized by the PDFreactor backend, please refer to the documentation by RealObjects GmbH:

If, for example, the documentation for the debugSettings model tells you about the boolean properties appendLogs, attachConfiguration, attachDocuments, attachResources, forceResult and all, this means that you may configure e.g.:

debugSettings.all = on

or:

debugSettings = {
    appendLogs: yes,
    forceResult: true,
}

Support

If you are having issues concerning this configuration parser, please let us know; please use the issue tracker mentioned below.

For issues regarding the PDFreactor itself, please refer to RealObjects GmbH:

Contribute

(To this configuration parser package:)

License

The project is licensed under the MIT License.

Author

Changelog

1.0.0 (unreleased)

  • Initial release. [tobiasherp]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdfreactor.parsecfg-1.0.0.dev6.tar.gz (42.5 kB view details)

Uploaded Source

File details

Details for the file pdfreactor.parsecfg-1.0.0.dev6.tar.gz.

File metadata

  • Download URL: pdfreactor.parsecfg-1.0.0.dev6.tar.gz
  • Upload date:
  • Size: 42.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.19.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.5

File hashes

Hashes for pdfreactor.parsecfg-1.0.0.dev6.tar.gz
Algorithm Hash digest
SHA256 48864e9de2c73c5ad048e26f9622b728c185e7598f100dd7c4e20810bc78d42c
MD5 f581ed06b114012780672a6b6f378434
BLAKE2b-256 3e0b0fb866bc0d4bd7ceed62c2ba32d8c9d9cdb181c3bdaf421509e0ba8e9277

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page