Skip to main content

Pdfserver 是一种 Web 服务,提供常见的 PDF 操作,例如加入文档、选择页面或“n 页合一”。

项目描述

Pdfserver 是一种 Web 服务,提供常见的 PDF 操作,如加入文档、选择页面或“n 页合一”。它建立在基于 Python 的微框架 Flask 之上,并依赖 pyPdf 来操作 PDF。

基本原理

存在处理 PDF 的强大工具,但它们并非在所有系统上都普遍可用或使用起来并不简单。该服务器允许任何人通过网络快速解决最常见的 PDF 操作。

如果您不信任其他服务器的数据,请自行部署副本!

例子

有关示例安装,请参阅http://pdfserverapp.appspot.com/ 。

依赖项

(见requirements.txt

可选

已经包含

特征

  • 简单但功能强大

  • 专为使用和不使用 Javascript 而设计

  • N 页合一

  • 文件的加入

  • 选择页面和页面范围

  • 旋转页面

  • 给页面添加水印

  • 在 Google App Engine 上运行

  • 异步处理构建

变化

0.6

  • celery 默认使用 SQLAlchemy 代理后端

  • 修复由于不兼容的 Flask 更改而导致的损坏

  • 修复上传文件排序的测试

0.5

  • 修复 setup.py 静态

  • 如果未启用 cookie,则显示警告

  • 更新 pyPdf 依赖项

  • 启用 celery 任务后端的测试

0.4

  • 通过 Ajax 处理上传和删除操作

  • 支持异步 PDF 生成

  • 修复 App Engine 的最大上传大小处理

  • 单元测试

  • 行动讯息

0.3

  • 从“django-pdfserver”重命名为“pdfserver”

  • “N 页合一”功能

  • 从 Django 迁移到 Flask

  • 谷歌应用引擎支持

0.2.1

  • 页面旋转

  • 水印功能

  • 页面范围验证

部署

下载并提取源代码。

在提取的文件夹中创建一个 virtualenv 并安装要求:

$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt

您可以简单地运行开发服务器:

$ python manage.py createdb
$ mkdir uploads
$ python manage.py runserver

一般的

  1. 确保给定的上传目录和数据库可以写入并且不能从外部访问(如果在公共服务器上)。

  2. 当不处于调试模式时,请确保在 static 下提供静态文件

  3. 提供一个SECRET_KEY并对其保密,以便可以对会话进行签名并且用户无法看到其他人上传的文件。

  4. 通过运行创建数据库:

    $ python manage.py createdb

芹菜

对于生成的 PDF 安装 celery 和 kombu-sqlalchemy 的可选异步生成(您也可以使用默认代理 RabbitMQ,请参阅 http://celeryq.org/docs/getting-started/broker-installation.html):

$ pip install -r celery_requirements.txt

从项目目录运行 celeryd 以异步处理任务:

$ celeryd

Google App Engine 有自己的自动使用的取消引用库。

充当 CGI

有关如何通过传统 CGI 界面运行 pdfserver 的示例,请参阅 pdfserver.cgi。

谷歌应用引擎

要在 App Engine 上运行 pdfserver,您需要在本地下载和复制依赖项。在提取的文件夹中运行以下命令:

# Get dependencies
$ mkdir tmp
$ pip install -r requirements.txt distribute --build=tmp --src=tmp \
  --no-install --ignore-installed
$ mv tmp/Babel/babel/ tmp/Flask/flask/ tmp/Flask-Babel/flaskext/ \
  tmp/Jinja2/jinja2/ tmp/pyPdf/pyPdf/ tmp/pytz/pytz \
  tmp/speaklater/speaklater.py tmp/Werkzeug/werkzeug/ \
  tmp/reportlab/src/reportlab/ tmp/distribute/pkg_resources.py .
$ rm -rf tmp
# Add a secret key
$ $EDITOR appengine.py
# Choose your application name
$ $EDITOR app.yaml
# Run the development server
$ /usr/local/google_appengine/dev_appserver.py .
# Finally upload
$ /usr/local/google_appengine/appcfg.py update .

如果任务无法执行(您可以在 http://localhost:8080/_ah/admin/tasks?queue=default 下查看),您可能会被错误http://code.google.com/p/appengine -mapreduce/issues/detail?id=9,请参阅那里的解决方法。

接触

请向http://github.com/cburgmer/pdfserver/issues报告错误。

Christoph Burgmer <cburgmer (at) ira uka de>

项目详情


下载文件

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

源分布

pdfserver-0.6.tar.gz (145.4 kB 查看哈希

已上传 source