一个plone 4产品,它可以生成存储在基于atfile的对象上的pdf文件的图像缩略图预览。
collective.pdfpeek的Python项目详细描述
简介
pdfpeek是一个plone 4附加产品,它利用gnu ghostscript生成 上载到基于atfile内容的pdf文件的图像缩略图预览 物体。中添加了灵活(和 plone.app.contenttypes 支持) 2.0.0
此产品安装在plone 4.x站点时,将自动生成 预览和缩略图的每一页上传的pdf文件和存储 它们被注释到包含pdf文件的内容对象上。
从pdf文件生成的图像是异步处理的,以便 用户不必等待创建图像才能继续 使用该站点,因为处理大型pdf文件可能需要几分钟的时间 完成。
由于 2.0.0 pdfpeek支持 rabbitmq 消息队列来生成 缩略图,有关详细信息,请参见安装部分
当初始化或编辑文件对象时,pdfpeek会检查pdf 文件已上载。如果是,则会向 pdfpeek作业队列(或rabbitmq,如果 collective.zamqp 使用)。
如果上载的文件不是内容类型"application/pdf",则会显示一个图像 删除作业将添加到pdfpeek作业队列中。已处理此作业队列 通过cron作业或zope时钟服务器进程定期执行。形象 转换作业将IPDF接口添加到内容对象并存储 上批注的每个PDF页面的结果图像预览和缩略图 到内容对象本身。图像删除作业将删除图像 来自内容对象的批注和IPDF接口。
如果作业失败,则将其从处理队列中移除并附加到 失败作业的列表。如果作业成功,则从处理中删除它 排队并附加到成功完成的作业列表。
viewlet
pdfpeek附带了一个默认打开的示例用户界面。这个 当用户查看pdf文件时,ui显示每个页面的缩略图 浏览器中的内容对象。这个示例用户界面还没有完全工作, 就是这个例子。我不自称是javascript 师父,
有一个自定义的遍历器,使访问图像和 直接预览,以及生成包含图像的自定义视图 预览文件内容。
安装
使用zc.buildout安装。如果要使用异步队列处理 collective.zamqp 您可能需要添加 collective.pdfpeek[zamqp] 。使用
- collective.pdfpeek[灵巧性] 用于灵巧性支持
- collective.pdfpeek[原型] 用于原型支持
- collective.pdfpeek[zamqp] 对于 collective.zamqp 支持
您还可以将这些附加功能组合在一起,如下所示(请参见构建zamqp.cfg)。 对于工作构建配置):
[buildout] ... parts = instance [instance] recipe = plone.recipe.zope2instance user = admin:admin http-address = 8080 eggs = ... collective.pdfpeek [dexterity, zamqp] zope-conf-additional = %import collective.zamqp <amqp-broker-connection> connection_id superuser hostname 127.0.0.1 port 5672 username guest password guest heartbeat 120 keepalive 60 </amqp-broker-connection>
配置
pdfpeek附带一个configlet,该configlet允许站点广告管理员调整 生成的预览和缩略图的大小,以及切换 打开和关闭示例用户界面和默认事件处理程序。
要求
- 扑通一声4.1+
- 要求gnu ghostscript gs二进制文件在$path上可用!
- 在兼容POSIX的系统(如Linux和MacOS 10.8)上测试。
- 未在Windows系统上测试。(如果有效的话也不会感到惊讶,只要 您可以安装GS。)*
- 从0.17版起,plone 3.x不再受官方支持。
代码、问题、注释
- 代码库:https://github.com/collective/collective.pdfpeek" rel="nofollow">https://github.com/collective/collective.pdfpeek
- 在github上报告错误:https://github.com/collective/collective.pdfpeek/issues" rel="nofollow">https://github.com/collective/collective.pdfpeek/issues
- 对 db @ davidbrenneman com 的问题和评论