【Python】複数のPDFファイルをWordファイルに変換する方法

PDFファイル(青)Python
スポンサーリンク
スポンサーリンク

「PDFファイルをワードに変換したいけど、一度にたくさんのファイルって変換できるの?」

「できるなら、有料のツールやサービスを使わず、無料でやりたい。」

上記の疑問にお答えします。

Pythonのライブラリ「pdf2docx」を使用すれば、複数のPDFファイルをWordファイルに変換することができます。

この記事では、以下について順番に説明します。

  • PDFファイルをWordファイルに変換する手順と概要
  • PDFファイルをWordファイルに変換するための準備
  • ソースコードの提示&解説
  • PDFファイルの特定ページをWordファイルに変換する
  • WordファイルをPDFに変換する(おまけ)

 

 

「偉そうに語るおまえは誰やねん。」と思われるので、私のことも少し。

私のプログラミング歴は約5年で、本職での開発経験はありませんが、一応、IT業界に身を置いています。

今でもPythonなど、独学でプログラミングを勉強しつつ、そのスキルを活かして仕事の効率化を図ったり、ゲームをつくったりしています。

 

提示したソースコードのコピペ&実行で、簡単に複数のPDFファイルをWordに変換することができるようになります。また、特定ページをWordに変換する方法も記載したので、あなたのやりたいことに柔軟に対応できると思います。

複数ファイルの変換を無料でできるツールは、あまりないと思うので、この記事を参考にして、職場などで活用してみてください。

 

 

1.PDFファイルをWordファイルに変換する手順と概要

まず、どのようにPDFファイルのデータをWordファイルに変換するか説明します。

変換に必要なステップは次のとおりです。

  1. Pythonをインストールする。
  2. プログラムを実行するフォルダに以下を置く。
    ・実行するPythonのソースファイル
    ・変換対象のPDFファイル
  3. プログラムを実行する。

 

プログラムの概要ですが、ざっくりと次のようなことをしています。(詳細は後述)

  1. フォルダ内のPDFファイルを探す。
  2. PDFファイルをWordファイルに変換する。
  3. 2をファイル数の分だけ繰り返す。

 

この記事ではイメージがしやすいように、請求書の置き換えを例にして話を進めます。

変換前のPDFファイルたちが、

こんな感じにWordファイルに変換されます。

 

2.PDFファイルをWordファイルに変換するための準備

プログラミング言語は、Pythonを使用します。

Pythonの準備がまだの方は、『Python3のインストール方法【導入は10分で完了!】』を参考に環境構築をしてみてください。

Python3のインストール方法【導入は10分で完了!】
Python3のインストール方法についてステップバイステップで説明しています。この記事に沿って手を動かしてもらえれば、迷うことなくインストールができます。

 

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に変換することができるので、この記事を参考にしつつ、実際にやってみてください。

PDFファイルをExcelファイルにしたい方は、次の記事が参考になると思います。是非ご覧ください。

【Python】複数のPDFファイルをExcelファイルに変換する方法
Pythonを使用して、PDFファイルから必要なデータを抽出し、Excelファイルに転記する方法を解説しています。複数のPDFファイルをExcelファイルに変換することは困難ですが、必要なデータを抜き出し転記することは可能です。そのソースコードを公開&解説しています。

 

もし、あなたが次のいずれかに当てはまるなら、『Pythonの独学ロードマップ【独学方法の経験談有り】』が参考になると思います。

  • 「何か作ってみたい!」と、これからPythonの学習を始めようとしている
  • Pythonの学習をはじめてみて、「このやり方であっているのかな?」と不安を感じている

 

Pythonで、Webスクレイピングやデスクトップアプリ作成のために独学した経験をもとに、Pythonの学習ステップをまとめています。

独学は孤独になりがちなので、学習の参考に是非ご覧ください。

Pythonの独学ロードマップ【独学方法の経験談有り】
Pythonの独学ロードマップについて解説しています。プログラミング未経験だった私の経験をもとに、独学の進め方や学習に必要な情報を提供しています。

 

ご清聴ありがとうございました。