本連載の前回で紹介したように、PDFから「表のデータ」をコピー&ペーストするのは難しく、期待していたような結果にならないケースが多い。とはいえ、参考資料の提示など、PDFに掲載されている表をWord文書に転載したいケースもあるだろう。

そこで今回は、AIを活用してPDFから「表のデータ」をコピーする方法を紹介する。あわせて、表の各列の幅を調整するときに役立つテクニックも紹介していこう。

  • AIを活用してPDFから表データをコピペ

    AIを活用してPDFから表データをコピペ

表データのコピー&ペーストの失敗例

まずは、前回少し紹介した「PDFから表データをコピー&ペーストする」を試してみたときの挙動から紹介していこう。

以下の図は、郵便局のWebサイトで配布されている「東京発のゆうパック運賃」を示したPDFだ。このPDFでは、表を左上から右下にドラッグしても文字をひとつも選択できなかったので、右下から左上にドラッグして表内の文字を選択している。ただし、「北海道」の列が選択されていない、表の外にある文字が選択されてしまっている、などの不都合が生じている。

  • PDFに掲載されている表データの選択

    PDFに掲載されている表データの選択

この状態で「Ctrl」+「C」キーでデータをコピーし、その後、「Ctrl」+「Shift」+「V」キーで文字情報だけをWordに貼り付けると、以下の図のような結果になった。

  • Ctrl+Shift+VでWordに貼り付けた様子

    Ctrl+Shift+VでWordに貼り付けた様子

表の範囲を正しく選択できていないこともあるが、それ以前の問題として「すべてのデータが縦一列に配置されていること」が非常に厄介な問題といえる。このような状態では文字列を表に変換することはできない。

このように、PDFに掲載されている表のデータをコピー&ペーストしても、期待していた結果になってくれないケースは非常に多い。このため、貼り付けたデータをもとに「Wordの表」を作成することも不可となってしまう。つまり、「各データをひとつずつ手入力しなければならない」という状況に陥ってしまう。

AIを使って表データを抽出

そこで、表データを正しくコピーできないときの対策法を紹介しておこう。それは、いま流行りのAIを利用する方法だ。今回は、Windowsに標準装備されているCopilotを使って、この問題を解決してみよう。

Copilotを起動し、表が掲載されているPDFをアップロードする。この操作は、「+」のアイコンをクリックして「アップロード」を選択すると実行できる。もしくは、プロンプトの入力欄にPDFをドラッグ&ドロップしてもよい。

  • Copilotにファイルをアップロード

    Copilotにファイルをアップロード

PDFをアップロードできたら、【このPDFにある「ゆうパック」の料金表を「タブ区切りのテキスト」として抽出して】といった感じで作業をAIに依頼する。

  • Copilotに入力したプロンプト

    Copilotに入力したプロンプト

数秒ほど待つと、ゆうパックの運賃表をタブ区切りテキスト(TSV)として抽出したデータが表示される。ただし、このデータをよく見ると、桁区切りを示すカンマ「,」と「円」の文字が欠落していることに気付くと思う。

  • 抽出されたデータ(1)

    抽出されたデータ(1)

また、画面を下へスクロールしていくと、「重量ゆうパック」や「ゴルフゆうパック」などのデータも取得されていることを確認できる。

  • 抽出されたデータ(2)

    抽出されたデータ(2)

そこで、【基本運賃だけでよい。金額に「カンマ」と「円」を追加して】というプロンプトを追加入力してみた。

  • 追加依頼のプロンプト

    追加依頼のプロンプト

結果は以下の図のとおり。「カンマ」と「円」の文字を追加した形でデータが再抽出される。あとは「コピー」をクリックして、このデータをクリップボードにコピーするだけ。これで正しい形式でデータを取得できたことになる。

  • 抽出されたデータのコピー

    抽出されたデータのコピー

コピーしたデータをもとに表を作成

以降の操作手順は、前回の記事で紹介した内容と同じ。Word文書を開き、データを貼り付けたい位置にカーソルを移動してから「Ctrl」+「Shift」+「V」キーを押す。これでコピーしたデータを「通常の文字」としてWord文書に貼り付けられる。

  • Ctrl+Shift+VでWordに貼り付けた様子

    Ctrl+Shift+VでWordに貼り付けた様子

あとは、先ほど貼り付けたデータを選択し、「挿入」タブで「表」→「文字列を表にする」を選択するだけ。

  • 「文字列を表にする」の実行

    「文字列を表にする」の実行

列数と行数を指定する画面が表示されるが、通常、これらは正しく自動認識されているはずだ。よって、文字列の区切りに「タブ」が選択されていることを確認して、そのまま「OK」ボタンをクリックすればよい。

  • 列数と行数の確認

    列数と行数の確認

選択していた文字列が「表」に変換される。これで表の基本形は完成。PDFを参照しながらデータをひとつずつ書き写していく、といった面倒な手間を大幅に簡略化できたことになる。

  • 作成された表

    作成された表

ただし、数値などの確認作業は必要となる。というのも、AIに抽出してもらったデータに間違いが含まれている可能性も否めないからだ。たいていの場合、AIは正しくデータを抽出してくれると思われるが、絶対とは言い切れない。念のため、元のPDFと見比べながら、各データが正しくコピーされていることを確認しておく必要があるだろう。このあたりが、単純にExcelからデータをコピー&ペーストする場合とは異なる。

離れた列の幅を揃えるには?

少し紙面に余裕があるので、表の体裁を整えるときに役立つテクニックも紹介しておこう。先ほど作成した表をよく見ると、左端の列で「サイズ」の文字が欠落していることに気付くと思う。よって、「サイズ」の文字を自分で追加することにした。また、表全体の文字サイズを小さくし、数値(金額)を右揃えで配置する書式指定も行った。

  • 書式を調整した表

    書式を調整した表

続いて、各列の幅を調整していく。この操作は、各列を区切る縦線を左右にドラッグすると実行できる。結果は以下の図のとおり。データが見やすくなるように幅を調整していくと、「各列の幅が不均一になる」という新たな問題が発生してしまう。

  • 列の幅を調整した表

    列の幅を調整した表

このような場合は、「テーブル レイアウト」に用意されている「幅を揃える」を活用するとよい。以下の図は「Ctrl」キーと「Shift」キーを併用しながら、幅を揃えたい列を選択した例だ。ただし、今回の例のように離れた位置にある列を選択すると、「幅を揃える」がグレーアウトされ、使えなくなってしまう。

  • 離れた列を選択すると「幅を揃える」が無効になる

    離れた列を選択すると「幅を揃える」が無効になる

これは仕様上、どうしようもない問題といえる。というのも、「幅を揃える」は連続した列に対してのみ使用可能なコマンドとなっているからだ。

そこで、一時的に列の順番を並べ替えて対処する方法を覚えておくとよい。まずは、幅を揃えない列の「現在の列幅」を確認する。列内にカーソルを移動し、「テーブル レイアウト」タブを選択する。すると、その列の幅を数値で確認できる。今回の例では30.3mmとなっていた。これを記憶(またはメモ)しておく。

  • 現在の「列の幅」の確認

    現在の「列の幅」の確認

続いて、列の移動を行う。「幅を揃える」の対象外にする列を選択し、グレーの部分を表の右端までドラッグする。

  • 列を右端に移動する操作

    列を右端に移動する操作

選択していた列が表の右端に移動される。これで幅を揃えたい列を連続して配置できた。なお、移動した列は、列の幅が自動調整されてしまうが、これは後ほど元のサイズに戻すので、そのままで構わない。とりあえずは「幅を揃える」の作業を済ませてしまおう。列をまとめて選択し、「幅を揃える」コマンドをクリックする。

  • 「幅を揃える」の実行

    「幅を揃える」の実行

選択していた列の幅が均一に揃えられる。続いて、先ほど移動した列を元の位置に戻す作業を行う。列を選択し、グレーの部分を元の位置までドラッグする。

  • 列を元の位置に戻す操作

    列を元の位置に戻す操作

列の並び順が最初の状態に戻る。あとは、移動した列の幅を調整するだけ。列内にカーソルを移動し、先ほど記憶しておいた数値を「幅」に入力する。これで、自動調整されていた列の幅を元のサイズに戻せる。

  • 「列の幅」を元に戻す操作

    「列の幅」を元に戻す操作

このように、幅を揃えたい列が離れていた場合は、一時的に列の並び順を変更してあげると、列の幅を均一に揃えることが可能となる。その後、列の配置を元の並び順に戻してあげればよい。

参考までに、セル内で改行するときの操作も紹介しておこう。今回の例では「中国・四国」の見出しが少し変な場所で折り返されている。これを通常の改行(Enter)で配置調整してもよいが、この場合「中国・」と「四国」が別の段落として扱われてしまう。よって、「Shift」+「Enter」キーで改行した方がよい。これで段落を変更することなく改行できるようになる。

  • 改行を挿入した表

    改行を挿入した表

以上が、表の体裁を整えるときに活用できるテクニックとなる。見出しセルの文字数が多い場合、表内に文章が含まれる場合などに活用できるので、あわせて覚えておくと役に立つだろう。