PDFからテキストを抽出
PDFを読み込んで、テキストデータを抜き出すフローを作成します。
[1]新しいフローを作成する
Power Automate for Desktopのトップ画面から[+新しいフロー]をクリックして、適当な名前で新規のフローを作成します。
[2]ドキュメントフォルダパスを取得する
[フォルダー]アクショングループの[特別なフォルダーを取得]アクションを配置すると、設定ダイアログが開きます。
設定ダイアログには、以下の設定を選択/入力し、保存します。
- 特別なフォルダーの名前:ドキュメント
- 生成された変数:%Documents%
[3]フォルダにあるPDFファイルのパスを取得する
[フォルダー]アクショングループの[フォルダー内のファイルを取得]アクションを配置すると、設定ダイアログが開きます。
設定ダイアログには、以下の設定を選択/入力し、保存します。
- フォルダー:%Documents%\PDFフォルダ
- ファイルフィルター:*.pdf
これで、指定したフォルダー配下の、拡張子がpdfであるファイルのパスのリストが変数Filesに格納されます。
[4]現在日時を取得する
あとからデータを保存する際のフォルダー名に使用するため、現在日時を取得します。
[日時]アクショングループの[現在の日時を取得します]アクションを配置すると、設定ダイアログが開きます。特に設定は要らないので、そのまま保存します。
[5]日付をフォーマットする
[テキスト]アクショングループの[datetimeをテキストに変換]アクションを配置すると、設定ダイアログが開きます。
設定ダイアログには、以下の設定を選択/入力し、保存します。
- 変換するdatetime:%CurrentDateTime%
- 使用する形式:カスタム
- カスタム形式:yyyyMMdd_HHmmss
[6]ファイル名を取得して変数に設定する
[変数]アクショングループの[変数の設定]アクションを配置すると、設定ダイアログが開きます。
設定ダイアログには、以下の設定を選択/入力し、保存します。
- 変数の設定:%FileName%
- 値:%Files[0].NameWithoutExtension%
これで、Filesの最初の要素の拡張子を除いたファイル名を変数FileNameに格納します。
[7]抽出データ出力先のフォルダーを作成する
[フォルダー]アクショングループの[フォルダーの作成]アクションを配置すると、設定ダイアログが開きます。
以下の設定を入力し、保存します。
- 新しいフォルダーを次の場所に作成:%Documents%\PDFフォルダ
- 新しいフォルダー名:%FileName%_%FormattedDateTime%
これで「PDFフォルダ」フォルダーの配下に、元のファイル名と現在日時に基づいたフォルダーが生成されます。
[8]PDFからテキストを抽出する
[PDF]アクショングループの[PDFからテキストを抽出]アクションを配置すると、設定ダイアログが開きます。
設定ダイアログには、以下の設定を入力し、保存します。
- PDFファイル:%Files[0]%
これで、取得した最初のファイルを読み込み、その結果はExtractedPDFTextという名前の変数に書き込まれます。
[9]テキストをファイルに書き込む
[ファイル]アクショングループの[テキストをファイルに書き込みます]アクションを配置すると、設定ダイアログが開きます。
設定ダイアログには、以下の設定を入力し、保存します。
- ファイルパス:%NewFolder%\%FileName%.txt
- 書き込むテキスト:%ExtractedPDFText%
これでPDFから取得したテキストがファイルに保存されます。
[10]フローを実行する
以上の手順を終えたら、フローを保存して実行します。
実行のたびにフォルダが作成されて、PDFからテキストが抽出されます。