金字塔中的文件转换web api
convertit的Python项目详细描述
convertit是一个格式转换web服务。
以其他格式检索文档!输入文件被转换并返回! 使用一个死的简单的GET请求,文档被拉取。使用POST请求,它接受附件。
支持的转换:
- odt->;pdf
- odt->;文档
- ODS->;xls
- csv->;ODS
- csv->;xls
- SVG->;pdf
- SVG->;PNG
以前转换的文档会在一路上被清除(根据每个请求)。
用法
使用get request
例如,从odt转换为pdf:
curl http://convertit/?url=http://server/document.odt&to=application/pdf HTTP/1.1 302 Found Content-Disposition: attachement; filename=document.pdf ...
获取参数:
url:要转换的文档的绝对url。
“url”还支持对未知请求使用“{x_forwarded_for}”占位符 他们自己的主人。“{x_forwarded_for}”将替换为相应的 “x_forwarded_for”标题(如果可用)。请注意,“x_forwarded_for”不是 一个安全值,因为它可以由用户代理修改或由 转发代理。只有在真正需要的时候才使用。示例:
curl "http://convertit/?url=http://{X_FORWARDED_FOR}/document.odt&to=application/pdf"
使用POST请求
在名为file:
的post参数中上载数据curl -F "file=@tiger.svg" http://convertit/?to=image/png HTTP/1.1 302 Found Content-Disposition: attachement; filename=tiger.png
查询参数
- 到:输出mimetype(可选,如果未提供,则默认为application/pdf);
- from:输入mimetype(可选,根据输入url或文件猜测,如果未提供)。
安装
系统依赖性
- 对于opendocument支持:unoconv
- 对于svg支持:inkscape
转换二进制文件应该在系统中PATH(which在内部使用。)
下载
产量
使用gunicorn例如:
gunicorn_paster --workers=1 production.ini
使用Docker:
sudo docker build -t="convertit" . sudo docker run -p :6543 convertit
反馈
打开an issue报告 错误或请求新功能。
学分
贡献者
- 基奥基<;kiorky@cryptelium.net>;
- 马修·勒普拉特mathieu.leplatre@makina-corpus.com>;
- 阿尔塔德gael.utard@makina-corpus.com>;
更改日志
1.1.5(2015-04-01)
- 修复unconv转换器中的系统崩溃
1.1.4(2015-04-01)
- 使用flock而不是芹菜序列化并行libreoffice转换
1.1.3(2015-01-20)
- 序列化并行libreoffice转换
1.1.2(2014-12-30)
- 修复unoconv错误处理中的崩溃
- 记录错误
- 添加有关unoconv无法并行工作的警告
1.1.1(2014-12-18)
- 将http错误作为原始字符串而不是html文档发送
1.1.0(2014-05-21)
使用原始请求头Accept-language下载URL
在get url参数中为}占位符添加{x}u forwarded}。替换为 对应的标题(如果可用)。 它避免了客户机发起请求以知道自己的地址。 示例:
curl "http://convertit/?url=http://{X_FORWARDED_FOR}/document.odt&to=application/pdf"
1.0(2013-09-03)
- 初始工作版本