Python中文
首页
教程
问答
标签
搜索
登录
注册
一种将文档转换为pdf格式的有效方法
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我一直在试图找到有效的方法来将文档(如doc、docx、ppt、pptx)转换为pdf。到目前为止,我已经尝试过<a href="http://documentcloud.github.io/docsplit/">docsplit</a>和<code>oowriter</code>,但都花了>;10秒完成了大小为1.7MB的<a href="http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&cad=rja&ved=0CFIQFjAF&url=http://academy.telerik.com/documents/telerik-academy/csharp-fundamentals/15.%2520Text-Files.pptx&ei=mtLFUoPaHarO4QSAvIGIAg&usg=AFQjCNElUv1xHd4i7-awumeEbLWAqPEyRw&sig2=ubgAa4m7l8hSsDBDLUlDnA&bvm=bv.58187178,d.bGE">pptx file</a>上的任务。有人能给我提个更好的方法或建议来改进我的方法吗?</p> <p>我试过的:</p> <pre><code>from subprocess import Popen, PIPE import time def convert(src, dst): d = {'src': src, 'dst': dst} commands = [ '/usr/bin/docsplit pdf --output %(dst)s %(src)s' % d, 'oowriter --headless -convert-to pdf:writer_pdf_Export %(dst)s %(src)s' % d, ] for i in range(len(commands)): command = commands[i] st = time.time() process = Popen(command, stdout=PIPE, stderr=PIPE, shell=True) # I am aware of consequences of using `shell=True` out, err = process.communicate() errcode = process.returncode if errcode != 0: raise Exception(err) en = time.time() - st print 'Command %s: Completed in %s seconds' % (str(i+1), str(round(en, 2))) if __name__ == '__main__': src = '/path/to/source/file/' dst = '/path/to/destination/folder/' convert(src, dst) </code></pre> <p>输出:</p> <pre><code>Command 1: Completed in 11.91 seconds Command 2: Completed in 11.55 seconds </code></pre> <p>环境:</p> <ul> <li>Linux-Ubuntu 12.04版</li> <li>Python2.7.3</li> </ul> <p>更多工具结果:</p> <ul> <li><a href="http://www.artofsolving.com/opensource/jodconverter">jodconverter</a>花了11.32秒</li> </ul>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p><a href="http://johnmacfarlane.net/pandoc/" rel="nofollow">Pandoc</a>是一个很好的工具,能够快速完成您想要的任务。由于您使用Popen来有效地为该工具发出命令,所以该工具使用什么语言编写并不重要(Pandoc是用Haskell编写的)。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
使用登录请求.post导致“错误405不允许”
10 回答
使用登录进行Python web抓取
10 回答
使用登录进行抓取
5 回答
使用登录页面从网站抓取数据
3 回答
使用白色圆圈背景使图像更平滑
9 回答
使用百分位数删除Pandas数据帧中的异常值
6 回答
使用百分号进行Python字典操作
8 回答
使用百分比delimi的Python字符串模板
4 回答
使用百分比分割Numpy ndarray最有效的方法是什么?
5 回答
使用百分比分配和修改变量(计算)
5 回答
使用百分比单位绘制数据
4 回答
使用百分比在单个采购订单中组合不同的订单类型
1 回答
使用百分比将数据帧的子集与完整数据帧进行比较
4 回答
使用百分比形式的BBOX选项,而不是绝对像素PyScreenShot Python
1 回答
使用百分比登录列nam更新表
4 回答
使用百分比登录操作系统或者os.popen公司
9 回答
使用百分比计算:十进制还是可读?
6 回答
使用的dataset和dataloader加载数据时出错torch.utils.data公司. TypeError:类型为“type”的对象没有len()
3 回答
使用的Json无效json.dump文件在Python3
3 回答
使用的overwrite方法\r在python 3[PyCharm]中不起作用
8 回答