Power Automate Desktopの「PDFからテキストを抽出」アクションの詳細について解説し、「伝票の内容をテキスト化→ファイル名をリネーム」するフロー作成方法について紹介します。
「PDFからテキストを抽出」アクションは、Power Automate for Desktopの中でも特に便利な機能の一つです。このアクションを使用することで、PDFファイルから図表やテキストデータを抽出することができます。
「PDFからテキストを抽出」アクション
では実際に3枚の請求書のPDF(s1~s3.pdf)からテキスト(会社名・金額)を抽出し、
ファイル名を「会社名_金額.pdf」にリネームするフローを作成します。
事前準備
PDFファイルの用意:s1.pdf、s2.pdf、s3.pdf
※各PDFファイルは、必ず同一書式であることが大事です。
これを入れるフォルダをデスクトップに作ります:C:\Users\DELL\Desktop\PDF
新ファイル名は、同じフォルダのファイルが書き換えられ「s1.pdf」→「三村株式会社_ご請求金額53000円.pdf」などとなります。
全体フロー
各フローの詳細
フォルダ内のファイルを取得
デスクトップのPDFフォルダのすべてのファイルが対象になります。
変数の設定
ループ(For each)を回すため、変数「NewVar」に初期値の 0 を入れておきます。
For each
PDFからテキストを抽出
PDFファイル「%Files[0]%」から順に作業が進みます。どのファイルが先頭かはよくわかりません。
テキストを分割
「テキスト値」を分割して「リストテキスト値」にします。
テキストを置換する
テキストリストの相手先会社名が16番目なのでTextLst[16]のテキストを修正(御中を削除)して変数Replaceに置換します。
テキストのトリミング
末尾の空白文字を削除します。
テキストを置換する
ファイル名に「,」があるとエラーになるので削除します。
テキストを置換する
ファイル名に「\」があるとエラーになるので削除します。
ファイルの名前を変更する
今までのファイル名に新しいファイル名を上書きします。
変数を大きくする
End
上書きされたファイ名
まとめ
「PDFからテキストを抽出」は、業務効率化において大きなメリットをもたらします。
契約書や請求書などのPDFファイルから必要な情報を抽出でき、従来の手作業に比べて時間と労力を大幅に削減することができます。実際にさまざまなDXソリューション現場にて見積書や注文書、納品書などのPDFの電子伝票を、決まった形式のファイル名にリネームするフローを作成して活用しております。
今回ご紹介した、Power Automate for Desktopの「PDFからテキストを抽出」アクションは、さまざまな業務でのテキスト抽出を効率化し、誰でも簡単に効果的な活用が可能であることがお分かりいただけたかと思います。
ぜひ、この機能を活用して業務の効率化や品質向上に取り組んでみてください。
付録
ソースコード
コピーして使ってください。
Folder.GetFiles Folder: $'''C:\\Users\\DELL\\Desktop\\PDF''' FileFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
SET NewVar TO 0
LOOP FOREACH CurrentItem IN Files
Pdf.ExtractTextFromPDF.ExtractText PDFFile: Files[NewVar] DetectLayout: False ExtractedText=> ExtractedPDFText
Text.SplitText.Split Text: ExtractedPDFText StandardDelimiter: Text.StandardDelimiter.NewLine DelimiterTimes: 1 Result=> TextList
Text.Replace Text: TextList[16] TextToFind: $'''%'御中'%''' IsRegEx: False IgnoreCase: False ReplaceWith: $'''%''%''' ActivateEscapeSequences: False Result=> Replaced
Text.Trim Text: Replaced TrimOption: Text.TrimOption.ToEnd TrimmedText=> TrimmedText
Text.Replace Text: TextList[0] TextToFind: $'''%','%''' IsRegEx: False IgnoreCase: False ReplaceWith: $'''%''%''' ActivateEscapeSequences: False Result=> Replaced2
Text.Replace Text: Replaced2 TextToFind: $'''%'¥'%''' IsRegEx: False IgnoreCase: False ReplaceWith: $'''%''%''' ActivateEscapeSequences: False Result=> Replaced3
DISABLE Display.ShowMessageDialog.ShowMessage Message: TrimmedText Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: True ButtonPressed=> ButtonPressed
File.RenameFiles.Rename Files: Files[NewVar] NewName: $'''%TrimmedText%_%Replaced3%円''' KeepExtension: True IfFileExists: File.IfExists.DoNothing RenamedFiles=> RenamedFiles
Variables.IncreaseVariable Value: NewVar IncrementValue: 1
END
サンプルPDFのダウンロード
ダウンロードはこちらから。3枚の請求書のサンプルです。
s1.pdf 三村株式会社
s2.pdf 福山株式会社
s3.pdf 加賀谷株式会社
コメント