「PDFファイルをワードに変換したいけど、一度にたくさんのファイルって変換できるの?」
「できるなら、有料のツールやサービスを使わず、無料でやりたい。」
上記の疑問にお答えします。
Pythonのライブラリ「pdf2docx」を使用すれば、複数のPDFファイルをWordファイルに変換することができます。
この記事では、以下について順番に説明します。
- PDFファイルをWordファイルに変換する手順と概要
- PDFファイルをWordファイルに変換するための準備
- ソースコードの提示&解説
- PDFファイルの特定ページをWordファイルに変換する
- WordファイルをPDFに変換する(おまけ)
「偉そうに語るおまえは誰やねん。」と思われるので、私のことも少し紹介させてください。
たいらーのプロフィール
- 文系四大出身。ソフトウェア開発の経験はなしですが、IT業界に身を置いています。
- 開発者やユーザーとのパイプ役など、業務にプログラミングスキルを活かす。
- Pythonは独学で習得。スクレイピングや作業の自動化などに勤しんでいます。
提示したソースコードのコピペ&実行で、簡単に複数のPDFファイルをWordに変換することができるようになります。また、特定ページをWordに変換する方法も記載したので、あなたのやりたいことに柔軟に対応できると思います。
複数ファイルの変換を無料でできるツールは、あまりないと思うので、この記事を参考にして、職場などで活用してみてください。
1.PDFファイルをWordファイルに変換する手順と概要
まず、どのようにPDFファイルのデータをWordファイルに変換するか説明します。
変換に必要なステップは次のとおりです。
- Pythonをインストールする。
- プログラムを実行するフォルダに以下を置く。
・実行するPythonのソースファイル
・変換対象のPDFファイル - プログラムを実行する。
プログラムの概要ですが、ざっくりと次のようなことをしています。(詳細は後述)
- フォルダ内のPDFファイルを探す。
- PDFファイルをWordファイルに変換する。
- 2をファイル数の分だけ繰り返す。
この記事ではイメージがしやすいように、請求書の置き換えを例にして話を進めます。
変換前のPDFファイルたちが、
こんな感じにWordファイルに変換されます。
2.PDFファイルをWordファイルに変換するための準備
プログラミング言語は、Pythonを使用します。
Pythonの準備がまだの方は、『Python3のインストール方法【導入は10分で完了!】』を参考に環境構築をしてみてください。
PDFファイルからWordファイルへの変換には、Pythonのライブラリ「pdf2docx」を使用します。
Pythonの環境構築が済んでいる方は、「pdf2docx」をインストールします。コマンドプロンプトを起動し、以下のコマンドを入力後にEnterキーを押下してください。
「Successfully installed ~」が表示されればインストールは成功です。
py –m pip install pdf2docx
3.ソースコードの提示&解説
ソースコードとその解説をしていきます。
・全文と解説
from pdf2docx.main import parse import glob filename = glob.glob("*.pdf") #PDFファイルをすべて取得 file_num = len(filename) #PDFファイル数を取得 for i in range(file_num): #PDFをWORDに変換 pdf_file = filename[i] #PDFファイル docx_file = filename[i].replace(".pdf", ".docx") #PDFファイル名のまま拡張子を変更 parse(pdf_file, docx_file)
1行目で「pdf2docx」のparseメソッドをインポートしています。
2行目では、ファイルパスやファイル名を取得するために「glob」をインポートしています。
4~5行目で、PDFファイル名とファイル数を取得しています。
7行目以降でファイル数の数だけ、PDFファイルをWordファイルに変換しています。
解説は以上です。
4.PDFファイルの特定ページをWordファイルに変換する
「pdf2docx」には、PDFファイルの特定ページを指定して、Wordファイルに変換するオプションのようなものがあります。以下に紹介しますので参考にしてください。
前項で提示したソースコードの12行目をそれぞれ置き換えるたけなので、やりたいことに合わせてアレンジしてください。
#startで指定した次のページからend指定したページまで変換(例では3~4ページを変換) parse(pdf_file, docx_file, start=2,end=4)
#先頭ページからend指定したページまで変換(例では1~4ページを変換) parse(pdf_file, docx_file, end=4)
#startで指定した次のページから最終ページまで変換(例では2ページ以降を変換) parse(pdf_file, docx_file, start=1)
#[]内で指定した次のページを変換(例では1,3,5ページを変換) parse(pdf_file, docx_file, pages=[0,2,4])
5.WordファイルをPDFファイルに変換する(おまけ)
これまでとは逆にWordファイルをPDFに変換したいケースがあると思うので、おまけで簡単に説明しておきます。
・準備
WordファイルからPDFファイルに変換する場合は、ライブラリの「docx2pdf」が必要です。プロンプトを起動し、以下のコマンドを入力後にEnterキーを押下してください。
「Successfully installed ~」が表示されればインストールは成功です。
py –m pip install docx2pdf
・ソースコード提示&解説
from docx2pdf import convert import glob docx_file = glob.glob("*.docx") for i in docx_file: convert(i)
1行目で「docx2pdf」のconvertメソッドをインポートしています。
2行目では、ファイルパスやファイル名を取得するために「glob」をインポートしています。
4行目で、Wordファイルのファイル名とファイル数を取得しています。
6~7行目でファイル数の数だけ、WordファイルをPDFファイルに変換しています。
6.まとめ
以上、複数のPDFファイルをWordファイルに変換する方法でした。
ソースコードはあまり複雑ではないので、理解しやすいかと思います。手間も少なく簡単に複数のPDFファイルをWordに変換することができるので、この記事を参考にしつつ、実際にやってみてください。
さらに、Pythonの学習を深めて、より業務の効率化や自動化の技術を身につけたい方は、『Pythonで業務を効率化・自動化しよう【プログラミング未経験でも大丈夫】』の記事もおすすめです。
Pythonを使った業務効率化のテクニックや実際の使用例を紹介しており、プログラミングスキルを活かして日々の業務をよりスムーズに進めるためのヒントが満載です。ぜひこちらの記事もご覧ください。
ご清聴ありがとうございました。