1. システムとオフィスの融合
  2. media
  3. Power Platform Power Automate
  4. 【誰でもできる】Power Automate Desktop「PDFからテキスト抽出」アクションを使ってファイル名をリネームしてみた

QESブログ

【誰でもできる】Power Automate Desktop「PDFからテキスト抽出」アクションを使ってファイル名をリネームしてみた

  • LINEで送る
  • このエントリーをはてなブックマークに追加
こんにちは。DXソリューション営業本部の二瓶です。

2024年1月から電子帳簿保存法によって、電子取引書類の電子保存が完全義務化されました。
これにより日々の業務において、PDF化された伝票内容をテキスト化し、
電子伝票をより簡単に管理したいと感じたことはありませんか?

本ブログは、Power Automate Desktopの「PDFからテキストを抽出」アクションの詳細について解説し、
実際に「伝票の内容をテキスト化→ファイル名をリネーム」するフロー作成方法について紹介した記事です!


Power Automate Desktop とは

そもそもPower Automate Desktopとは何か簡単にまとめると、

 ・Microsoft社が無償で提供するローコードツールの1つ
 ・タスクやプロセスの自動化を簡単に作成可能
 ・デスクトップ上でのマウスクリックやキーボード入力などのアクションを録画し、自動的に再生可能
 ・データの抽出や変換、データベースへのアクセスなど、さまざまな操作を行うことも可能

デスクトップ上でのルーティン作業の効率化や生産性の向上を簡単に図ることができるツールが
Power Automate Desktopです!

クラウドベースのPower Automateとの違いなど、詳しく知りたい方は下記のブログをご参照ください!


「PDFからテキストを抽出」アクションの詳細

「PDFからテキストを抽出」アクションは、Power Automate for Desktopの中でも特に便利な機能の一つです。
このアクションを使用することで、PDFファイルから図表やテキストデータを抽出することができます。



使用方法は非常にシンプルです!

 1. PDFファイルを選択
 2. 抽出するページを指定

以上です!
抽出された内容は、変数「ExtractedPDFText」という名前で保存されます。


「PDFからテキストを抽出」アクションを使用した
ファイル名リネームフロー作成方法

では実際にPDF(請求書)からテキスト(伝票名・会社名・金額)を抽出し、
ファイル名を「伝票名_会社名_金額.pdf」にリネームするフローを作成したいと思います。

概要

■今回は以下の架空の請求書を使用しました。



■ファイル名のBeforeAfterは以下になります。

  Before:請求書.pdf
   ↓
  After  :請求書_株式会社白米_1100000.pdf

■実際に作成したフローは以下になります。



事前準備

■フォルダ作成

フロー作成前の準備として、リネームしたいファイルを格納するフォルダを任意の場所に作成します。

■Power Automate Desktopインストール

Power Automate Desktopのダウンロード先やダウンロード手順について知りたいという方はこちらをご確認ください。

■伝票用意



フロー作成

フロー作成の流れとしては以下の通りです。

 1.変数の設定(フォルダパス設定)

 2.フォルダー内のファイルを取得

 3.For eachアクションを設置

 4.PDFからテキストを抽出

 5.テキストの分割

 6.伝票名取得

 7.社名取得

 8.金額取得

 9.ファイル名作成

 10.ファイルの名前を変更する

1.変数の設定(フォルダパス設定)

まず始めに「変数の設定」アクションにて、
フォルダパスをリネーム前フォルダ変数に設定します。

■設定
 ・変数:リネーム前フォルダ
 ・値:リネームしたいPDFが格納されているパス



2.フォルダー内のファイルを取得

次に「フォルダー内のファイルを取得」アクションにて、
PDFファイルのみを読み取るために、「.pdf」と「.PDF」の拡張子2つをファイルフィルターにて指定します。
拡張子を指定する際は、アスタリスク(*)を拡張子の前に付けます。
(アスタリスクのみの場合、フォルダ内すべてのファイルが取得されます。)

複数のファイルをフィルターにかける場合は、
セミコロン(;)で拡張子を区切ることで、複数種類の拡張子を指定できます。
(拡張子が大文字や小文字の両方が存在する可能性があるため、どちらもフィルターにかけています。)

■設定
 ・フォルダー:%リネームフォルダ%
 ・ファイルフィルター:*pdf;*PDF
 ・生成された変数:Files



3.For eachアクションを設置

次に「For each」アクションにて、
フォルダ内にあるファイルの数だけ処理を繰り返すために、For eachアクションを設定します。
繰り返すたびに読み取ったファイルのプロパティが変数「CurrentItem」に格納されます。

■設定
 ・反復処理を行う値:%Files%
 ・保存先:CurrentItem



 4.PDFからテキストを抽出

次に「PDFからテキストを抽出」アクションにて、
PDFからテキストを抽出アクションで読み取るファイルを指定し、PDFファイルの内容を読み取ります。
一時的に「CurrentItem.Name」(プロパティ)に拡張子を含むファイル名が格納されるため、
以下の設定で読み取るファイルを指定します。

■設定
 ・PDFファイル:%リネームフォルダ%\%CurrentItem.Name%
 ・抽出するページ:すべて
 ・生成された変数:ExtratedPDFText



抽出されたテキストは以下のように変数「ExtratedPDFText」に格納されます!



5.テキストの分割

PDFからテキストを抽出した内容を取り出しやすくするために、
「テキストの分割」アクションを使用して、リスト「TextList」に格納します。

■設定
 ・分割するテキスト:%ExtractedPDFText%
 ・区切り記号の種類:標準
 ・標準の区切り記号:新しい行
 ・回数:1
 ・生成された変数:TextList



リスト化したら以下のようになります。
今回は赤枠から伝票名、社名、金額を取得します。

6.伝票名取得

次に、「テキストを置換する」アクションにて、
先ほど作成したリストから[0]行目を指定し、伝票名(請求書)を取得します。
TextListをみると、間に余分な半角スペースが含まれているので、
半角スペースを「''」(スペースなし)に置換し、
取得した値を変数「伝票名」に格納するよう設定します。

■設定
 ・解析するテキスト:%TextList[0]%
 ・検索するテキスト:%' '%
 ・置き換え先のテキスト:%''%
 ・生成された変数:伝票名



7.社名取得

①伝票名と同様に「テキストを置換する」アクションにて、先ほど作成したリストから[1]行目を指定し、
 半角スペースをスペースなしに置換したら変数「社名」に格納するよう設定します。

■設定
 ・解析するテキスト:%TextList[1]%
 ・検索するテキスト:%' '%
 ・置き換え先のテキスト:%''%
 ・生成された変数:社名

②次に「テキストのトリミング」アクションにて、
 変数「社名」に格納されている「御中」の前にあるテキストを取得し、再び変数「社名」に格納します。

■設定
 ・元のテキスト:%社名%
 ・モード:指定されたフラグの前にあるテキストを取得する
 ・終了フラグ:御中
 ・生成された変数:社名



8.金額取得

①伝票名・社名の時と同様に、
 「テキストを置換する」アクションにて、先ほど作成したリストから[5]行目を指定し、
 半角スペースを「''」(スペースなし)に置換したら変数「金額」に格納するよう設定します。

■設定
 ・解析するテキスト:%TextList[5]%
 ・検索するテキスト:%' '%
 ・置き換え先のテキスト:%''%
 ・生成された変数:金額

②次に「テキストのトリミング」アクションにて、
 変数「金額」に格納されている「請求金額\」と「東京都」の間にあるテキストを取得し、
 再び変数「金額」に格納します。

■設定
 ・元のテキスト:%金額%
 ・モード:指定された2つのフラグの間にあるテキストを取得する
 ・開始フラグ:請求金額\
 ・終了フラグ:東京都
 ・生成された変数:金額

③変数「金額」にカンマ(,)が入ってしまっているので、
 「テキストを置換する」アクションにて取り除きます。
 置換後は再び変数「金額」に格納します。

■設定
 ・解析するテキスト:%金額%
 ・検索するテキスト:%','%
 ・置き換え先のテキスト:%''%
 ・生成された変数:金額

9.ファイル名作成

次に「変数の設定」アクションにて、変数「伝票名」と「社名」、「金額」をハイフン(_)でつなげたものを、
変数「リネーム後ファイル名」に格納します。

■設定
 ・変数:リネーム後ファイル名
 ・値:%伝票名%_%社名%_%金額%

10.ファイルの名前を変更する

最後に、「ファイルの名前を変更する」アクションにて以下を設定します。

 ・名前を変更するファイル:%リネームフォルダ%\%CurrentItem.Name%
 ・名前の変更の方法:新しい名前を設定する
 ・新しいファイル名:%リネーム後ファイル名%
 ・拡張子を保持する:オン
 ・ファイルが存在する場合:上書き
 ・生成された変数:RenamedFiles



以上で電子伝票リネームフローの完成です!

Power Automate Desktopでのテキスト抽出の活用事例

テキスト抽出は、業務効率化において大きなメリットをもたらします。
活用事例としては以下が挙げられます!

業務効率化

契約書や請求書などのPDFファイルから必要な情報を抽出する。
→従来の手作業に比べて時間と労力を大幅に削減することができます!
 実際に弊社DXソリューション営業本部にて見積書や注文書、納品書などのPDFの電子伝票を、
 決まった形式のファイル名にリネームするフローを作成して活用しております。


データ分析

データ分析やドキュメント管理に活用する。
→複数のPDFファイルから特定のキーワードを抽出し、それらのデータを集計して傾向やパターンを分析する等、
 大量のデータを効率的に処理することができます!

 

ドキュメント管理

大量のPDFファイルをテキスト抽出して、キーワード検索によるドキュメントの検索やカテゴリ分類を行う。
→必要な情報を迅速に見つけることができ、これにより、情報の取り違えや見落としを防ぎ、
 作業の効率化を図ることができます!

 

まとめ

今回ご紹介した、Power Automate for Desktopの「PDFからテキストを抽出」アクションは、
さまざまな業務でのテキスト抽出を効率化し、誰でも簡単に効果的な活用が可能であることがお分かりいただけたかと思います。
ぜひ、この機能を活用して業務の効率化や品質向上に取り組んでみてください!

最後までお付き合いいただき、ありがとうございました。

弊社では、Microsoft製品やAWS製品に関するソリューションに取り組んでおります。
他プロダクトに関するブログも投稿しておりますので、下記のリンクから是非ご覧ください!


また、QESではクラウドエンジニアを募集しております。詳細につきましては、下記のリンクからご確認ください。

 


※このブログで参照されている、Microsoft、Power Platform、Power Automate Desktopその他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
  • LINEで送る
  • このエントリーをはてなブックマークに追加

お気軽にお問い合わせください。

ページのトップへ