国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python 實用程序 | PDF 轉 Word

sorra / 780人閱讀

摘要:雖然現在市面上有很多轉軟件,比如,但大多數的軟件是要收費的,并且價格不菲。于是乎我就想到了利用來寫個程序,把轉成文檔。具體的程序邏輯,可以去查看原文。本文首發于公眾號癡海,每天分享干貨,后臺回復,領取最新教程。

閱讀文本大概需要 6 分鐘。

現在網上有很多文檔是 pdf 格式,雖然這個格式閱讀起來很方便,并且里面的內容不會亂掉,但相應的我們就無法修改里面的內容。雖然現在市面上有很多 pdf 轉 word 軟件,比如 wps,但大多數的軟件是要收費的,并且價格不菲。

前些天就有人叫我幫她把 pdf 文檔轉成 word 的文檔。因為 pdf 文檔里面的內容有很多,如果全部打印的話,費用還是挺高的。所以她想把里面的內容格式修改下,比如行間距,字間距等等。通過這樣的修改,可以把文檔的頁數減少很多,這樣就省下不少的錢。

于是乎我就想到了利用 python 來寫個程序,把 pdf 轉成 word 文檔。秉承著不要重復造輪子的想法,我首先在網上搜索了下。果然已經有人寫好了,我們直接拿來用就行。程序一共只有 60 行代碼,使用也非常的簡單,

程序源代碼

import?os
from?configparser?import?ConfigParser
from?io?import?StringIO
from?io?import?open
from?concurrent.futures?import?ProcessPoolExecutor

from?pdfminer.pdfinterp?import?PDFResourceManager
from?pdfminer.pdfinterp?import?process_pdf
from?pdfminer.converter?import?TextConverter
from?pdfminer.layout?import?LAParams
from?docx?import?Document

def?read_from_pdf(file_path):
????with?open(file_path,?"rb")?as?file:
????????resource_manager?=?PDFResourceManager()
????????return_str?=?StringIO()
????????lap_params?=?LAParams()

????????device?=?TextConverter(
????????????resource_manager,?return_str,?laparams=lap_params)
????????process_pdf(resource_manager,?device,?file)
????????device.close()

????????content?=?return_str.getvalue()
????????return_str.close()
????????return?content

def?save_text_to_word(content,?file_path):
????doc?=?Document()
????for?line?in?content.split("
"):
????????paragraph?=?doc.add_paragraph()
????????paragraph.add_run(remove_control_characters(line))
????doc.save(file_path)

def?remove_control_characters(content):
????mpa?=?dict.fromkeys(range(32))
????return?content.translate(mpa)

def?pdf_to_word(pdf_file_path,?word_file_path):
????content?=?read_from_pdf(pdf_file_path)
????save_text_to_word(content,?word_file_path)

def?main():
????config_parser?=?ConfigParser()
????config_parser.read("config.cfg")
????config?=?config_parser["default"]

????tasks?=?[]
????with?ProcessPoolExecutor(max_workers=int(config["max_worker"]))?as?executor:
????????for?file?in?os.listdir(config["pdf_folder"]):
????????????extension_name?=?os.path.splitext(file)[1]
????????????if?extension_name?!=?".pdf":
????????????????continue
????????????file_name?=?os.path.splitext(file)[0]
????????????pdf_file?=?config["pdf_folder"]?+?"/"?+?file
????????????word_file?=?config["word_folder"]?+?"/"?+?file_name?+?".docx"
????????????print("正在處理:?",?file)
????????????result?=?executor.submit(pdf_to_word,?pdf_file,?word_file)
????????????tasks.append(result)
????while?True:
????????exit_flag?=?True
????????for?task?in?tasks:
????????????if?not?task.done():
????????????????exit_flag?=?False
????????if?exit_flag:
????????????print("完成")
????????????exit(0)

if?__name__?==?"__main__":
????main()
使用方法

首先去 github 上把項目 clone 或下載項目到本地.

github : https://github.com/python-fan...

git?clone?git@github.com:simpleapples/pdf2word.git

然后進入項目目錄,建立虛擬環境,并安裝依賴。

pip?install?-r?requirements.txt

最后修改 config.cfg 文件,指定存放 pdf 和 word 文件的文件夾,以及同時工作的進程數,就可以執行 python main.py。

具體的程序邏輯,可以去查看原文。作者都分析的很詳細。

https://zhuanlan.zhihu.com/p/...。

本文首發于公眾號「癡海」,每天分享 Python 干貨,后臺回復「1024」,領取 2018 最新 Python 教程。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42020.html

相關文章

  • 假裝Python高手,把類這樣改,真刺激!

    摘要:今天我們來說一個非常實用的例子,小菜接到組長老王的一個任務,安排一個新的活,這個活是這樣的老王小菜啊,你幫我寫一個登入腳本,跑十幾條命令到服務器上,然后存一下日志。這個時候,小菜偷偷的瞄了一眼組長老王,常舒一口氣,總于寫完了。 Python學了好幾年,發現功力還是那樣,很多同學經常這樣抱...

    dance 評論0 收藏0
  • 學習Python想放棄,因為你沒有培養自己的興趣!

    摘要:為啥你天天刷抖音一點都不煩,因為你覺得視頻好看你有興趣啊。比如我們說你玩是不是要開始搭建一個自己的網站,是不是可以自己寫一個小的腳本來自動發消息給你的女朋友等等,通過這樣的小例子來慢慢的培養自己的學習的興趣。學習,切勿貪快貪多。 大家好,我是菜鳥哥! 周末啦,跟大家聊一下我們粉絲團的情況...

    ideaa 評論0 收藏0
  • 我是如何將博客PDF

    摘要:但發現導出來的沒有高亮語法沒有語法高亮咋看啊,所以到這里我就放棄了,將就用一下博客園生成的吧爬蟲學習上面提供的接口是一個生成一個文件,我是不可能一個一個將鏈接和標題放上去生成的因為博客園上發的也將近篇了。 前言 只有光頭才能變強 之前有讀者問過我:3y你的博客有沒有電子版的呀?我想要份電子版的。我說:沒有啊,我沒有弄過電子版的,我這邊有個文章導航頁面,你可以去文章導航去找來看呀..然后...

    mindwind 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<