pydocx mixin-s3图片上传
pydocxs3upload的Python项目详细描述
概述
一个PyDox的混合器,将图像上传到S3桶,而不是从Dox到HTML转换为数据URI。
要求
- python 2.7版
- 适用于Linux、Windows、Mac OSX、BSD
安装
快捷方式:
pip install pydocxs3upload
用法
首先,要使用这个MIXIN,您需要创建自己的Amazon S3桶,并公开许可,以便上传图像。 可以从生成的HTML文件访问。Here你可以找到一个向导 怎么做。创建bucket之后,我们需要生成一个单独的请求,用于将数据上传到s3。 因此,由于这个签名请求,您可以完全控制上传的图像。使用this gist 您可以使用boto库简单地生成这样的签名。
这是混合蛋白用法的一个例子:
frompydocx.exportimportPyDocXHTMLExporterfrompydocxs3uploadimportS3ImageUploadMixinclassPyDocXHTMLExporterS3ImageUpload(S3ImageUploadMixin,PyDocXHTMLExporter):passdocx_path='path/to/file/doc.docx'signed_request='<signed json string>'exporter=PyDocXHTMLExporterS3ImageUpload(docx_path,s3_upload=signed_request)html=exporter.parsed
请注意,您可以使用相同的签名请求来转换所需的任何文档。所以,为了避免上传同名图片 覆盖前一个,每个图像都附加一个时间戳,使其唯一。如果由于某些原因,您不希望默认使用此功能 您可以通过传递参数'unique_filename': False来更改它。
exporter=PyDocXHTMLExporterS3ImageUpload(docx_path,s3_upload=signed_request,unique_filename=False)
在本例中,所有图像都命名为image1, image2, ..., imagen。