This extension provides a view plugin for PDF files using PDF.js.
Beyond viewing PDFs, this version takes advantage of the latest PDF.js features that were not available in the bundled pre 2.3 viewer, namely:
- Localization. Uses CKAN's language settings when possible.
- Tools Menu. Go to first/last page. Rotate clockwise/counter-clockwise. Hand tool. Document Properties.
- Fullscreen support.
- PDF attachment support.
- Performance. Renders PDFs much faster in browsers with WebGL and Web Worker support.
- Implements hundreds of PDF.js bug fixes
This extension only works with CKAN >= 2.3. On previous CKAN versions the PDF viewer is included in the main CKAN repository.
Python 2.7 is required.
To install ckanext-pdfview:
Activate your CKAN virtual environment, for example:
source /usr/lib/ckan/default/bin/activate
Install the ckanext-pdfview Python package into your virtual environment:
pip install ckanext-pdfview
Add
pdf_viewto theckan.pluginssetting in your CKAN config file (by default the config file is located at/etc/ckan/default/production.ini).If you want to render PDF files which are not located in the same server as CKAN you also need to enable the
resource_proxyplugin.
Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:
sudo service apache2 reload
To install ckanext-pdfview for development, activate your CKAN virtualenv and do:
git clone https://github.com/ckan/ckanext-pdfview.git cd ckanext-pdfview python setup.py develop
To run the tests, do:
nosetests --nologcapture --ckan --with-pylons=test.ini
ckanext-pdfview should be availabe on PyPI as https://pypi.python.org/pypi/ckanext-pdfview. If that link doesn't work, then you can register the project on PyPI for the first time by following these steps:
Create a source distribution of the project:
python setup.py sdist
Register the project:
python setup.py register
Upload the source distribution to PyPI:
python setup.py sdist upload
Tag the first release of the project on GitHub with the version number from the
setup.pyfile. For example if the version number insetup.pyis 0.0.1 then do:git tag 0.0.1 git push --tags
ckanext-pdfview is availabe on PyPI as https://pypi.python.org/pypi/ckanext-pdfview. To publish a new version to PyPI follow these steps:
Update the version number in the
setup.pyfile. See PEP 440 for how to choose version numbers.Create a source distribution of the new version:
python setup.py sdist
Upload the source distribution to PyPI:
python setup.py sdist upload
Tag the new release of the project on GitHub with the version number from the
setup.pyfile. For example if the version number insetup.pyis 0.0.2 then do:git tag 0.0.2 git push --tags
AttributeError: 'module' object has no attribute 'ckanext-pdfview/main'
When upgrading a CKAN source install to 2.3+, be sure to remove the old bundled pdfview.
rm -rf /usr/lib/ckan/default/src/ckan/ckanext/pdfview
pdfview used to be part of CKAN core, and has been made a separate extension to make it easier to iterate on pdf viewer enhancements.
Also, be sure be sure to register any new or updated plugins:
. /usr/lib/ckan/default/bin/activate cd /usr/lib/ckan/default/src/ckan python setup.py develop