こんにちは!
今回はWinActorノートを使ってPDFからの転記をしよう!というお話です。
Excel⇔Excel、Excel⇔システムといった転記は、RPA化業務の定番とも言えるくらいよく見かけるものですが、PDFからの転記もたびたび出てきます。
例として、「注文一覧表」のデータから「発注日」と「合計数量」を取得しExcelへ転記させる場合を考えてみます。注文一覧表はPDFファイルです。
【図1】注文一覧表はPDFファイルとして持っています
PDFファイルを確認
PDFからの転記をしたい場合、まずはそのPDFファイルを開いて特定の箇所(あるいは全体)を選択してコピーし、メモ帳やExcelなど貼り付けができるかを確認します。
PDFファイルの生成方法はいくつかありますが、今回は主な2種類として、ExcelなどでPDFファイルとした保存した場合と、紙などをスキャンして生成した場合とがあります。
前者は入力された文字が選択できるためコピー&ペーストできますが、後者は画像情報しかないため、入力された文字は選択できません。
下記2パターンのPDFファイルでコピー&ペースト可能かを試してみました。
1パターン目
【図2】Excelで作成したデータをPDFにしている場合、
文字列を選択・コピーでき(左)、メモ帳などに貼り付けできる(右)
2パターン目
【図3】紙などをスキャンして生成されたPDFファイルのデータは選択ができなかったり、
選択できても文字データとしてのコピーができない
後者の場合は画像コピーは可能でも、文字データとしてコピーできるわけではないため、このままでは文字データの転記はできません。
ただし、OCRツールを使うなどして文字データに変換することができれば、前者と同じように文字データとして転記することができる場合があります。
⭐OCRについて
OCRとは「Optical Character Recognition/Reader」の略で、画像データのテキスト部分を認識し文字データに変換する技術のことです。
近年ではAI-OCRと呼ばれる技術もあり、識字率も向上してきています。
画像データから文字データ化するお話は本筋からずれてしまうので割愛し、データ選択できる場合のPDFファイル転記のお話を進めていきます。
WinActorノートを使ってデータを加工
では、改めて転記方法を考えていきましょう。
今回PDFファイルから取得したいデータは「発注日」「合計数量」です。
方法としてまずパッと浮かぶのは次の2通りでしょう。
① 必要な項目の値のみ取得して、Excelへ貼り付ける
② 全体をコピーしてExcelへ貼り付けた後、不要な箇所を削除する
時と場合によってどちらの方法も考えられますし①も②もそれぞれ複数手段が存在しますが、今回はWinActorノートを使ってみようという趣旨なので、①の方法の場合を考えてみます。
⭐WinActorノート
WinActor ノートは、テキスト処理を組み合わせたWinActor ノートのマクロを作成・実行させることで、複雑なテキストの加工・抽出・利用をすることが可能となるツールです。WinActorNote Operation Manualより引用
WinActorノートを使って値を取得する工程の流れとしては以下になります。
①PDFを開いてデータを全選択し、WinActorノートへ取り込む
②WinActorノート上でキーワードを検索し、欲しい項目の行(ブロック)を特定する
③特定したブロックの値を取得し変数に取り込む
変数に取り込むことができれば、Excelへの転記は問題ありませんね!
このフローをシナリオに起こしたものが下記になります。
それぞれのノードでざっくり何をしているかはこちら👇
シナリオ実行中、WinActorノートの画面は表面に出てきません
どういう状態か確認したい場合はツールメニューから開いてみてください
ノードのプロパティ設定は下記ご参照ください。
別ツールに一旦貼り付けてほしい値だけ取得するというこの方法、実はWinActorノートを使用しなくても、メモ帳やExcelへ貼り付けることで代替可能です。
WinActorノートを使うメリットは、上記のようなメモ帳やExcelなどのアプリケーションを開かずに実行できることや、
今回は使いませんでしたが一部文字列の置換をしてまたファイルに出力するなど、画像マッチングやエミュレーションを使わずに実現できることがあります。
⭐アプリケーションを開かずに使える
メモ帳やExcelを使う場合、貼り付けるためにアプリを開く必要があります。値の取得に「Excel操作(値の取得)」を使う場合はファイルパスを使用するため、ファイル自体を用意しておく必要も出てきます。
WinActorノートはアプリケーションを開かず処理できるため、アプリの起動や終了のノードを使わずに実行できることから、開閉時間の短縮やノード数を減らす効果も期待できます。
⭐様々な操作ができる
【ライブラリ▸25_WinActorノート】には様々なノードが用意されています。文字列の置換やソートといった操作は変数内やExcel上でおこなうことができますが、WinActorノートを使えば変数にも実際のファイルにも影響を与えず、WinActorノート内で編集することができます。
PDFファイルからの転記のとき以外にも、メール送信時の本文のテンプレートをテキストファイルで用意しておき、日付などの毎回文言が変わる箇所の加工をおこなうなど、WinActorノートの使い道はたくさんあります。
これまで使ったことなかったという方、ぜひ今度テキストの加工をするときなどに使ってみてください。
最後までお読みいただきありがとうございました。
また次回お楽しみに!
▼こちらもおすすめ