pdf 转成 word 用 python 实现 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
xxer
V2EX    Python

pdf 转成 word 用 python 实现

  •  
  •   xxer 2015-04-30 10:51:12 +08:00 8686 次点击
    这是一个创建于 3823 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT,求教正确姿势。有人用过类似的库吗?实际操作效果如何呢?乱码的情况会不会出现呢?

    13 条回复    2015-05-05 18:11:59 +08:00
    pupboss
        1
    pupboss  
       2015-04-30 11:01:04 +08:00
    我是来搞笑的别打我

    import os

    os.rename('test.pdf', 'test.doc')
    andyhenry
        2
    andyhenry  
       2015-04-30 11:05:49 +08:00
    pdf是很难转成其他格式的,和用什么语言无关。即使强制转,和单纯用鼠标复制粘贴也差不多,不能保留任何格式。
    nxbtch
        3
    nxbtch  
       2015-04-30 11:12:00 +08:00
    @pupboss 666
    nowcoder
        4
    nowcoder  
       2015-04-30 12:07:50 +08:00
    不好转。
    staticor
        5
    staticor  
       2015-04-30 14:09:11 +08:00
    pypandoc 试试?
    em70
        6
    em70  
       2015-04-30 14:23:32 +08:00 via Android
    Python不是万能的

    给你个思路,不要纯Python实现,试试去找一个PDF转doc的命令行,python调用命令行来解决。
    xyzasd01
        7
    xyzasd01  
       2015-04-30 18:02:25 +08:00
    命令行:
    “pdftohtml 文件名”

    然后用word打开html就可以了。

    如果要默认word打开,你把.html改成.doc就可以了。
    xyzasd01
        8
    xyzasd01  
       2015-04-30 18:03:39 +08:00
    @xyzasd01

    补充一下。pdftohtml的命令是要安装yum install poppler-utils

    然后你pdftohtml,pdftotext之类的一大堆都可以用了。。

    祝好~
    xyzasd01
        9
    xyzasd01  
       2015-04-30 18:06:51 +08:00
    如果要单纯的去读word。很难,非常难。

    java有tika的库,但是有些读不了,比如猎聘网下载的简历。

    php有phpword,但是只能读取word2007及以上。就是.docx的。

    我的项目遇到的问题:

    读取word,有的是html,有些是真正的word,有些是base64。。。。。。有无数种。。。。需要无数种的方法来读。。html的最简单,base64的要截取一部分,然后unbase64会还原成html。。。。我擦擦
    xxer
        10
    xxer  
    OP
       2015-04-30 18:18:57 +08:00
    @xyzasd01 也就是说pdf转成word都会存在诸如乱码的问题,不论什么语言,是吗
    jedihy
        11
    jedihy  
       2015-04-30 18:26:50 +08:00 via iPhone
    @xxer 本质区别是pdf排版类似于用的矢量绘图的方法。word则是文字的编排。这两种方式是不能完美转换的。
    14
        12
    14  
       2015-04-30 18:37:03 +08:00
    import os
    os.system('libreoffice --headless --convert-to docx my.pdf')
    xyzasd01
        13
    xyzasd01  
       2015-05-05 18:11:59 +08:00
    @xxer 不是说一定乱码,只是可能会发生,word太杂了,什么都有。不标准
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3356 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 10:29 PVG 18:29 LAX 03:29 JFK 06:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86