SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Power Automate Desktopチュートリアル

Windows10の無償デスクトップ自動化ツール「Power Automate Desktop」でPDFからのデータ抽出を自動化する

Power Automate Desktopチュートリアル 第11回

  • X ポスト
  • このエントリーをはてなブックマークに追加

PDFからテキストを抽出

 PDFを読み込んで、テキストデータを抜き出すフローを作成します。

[1]新しいフローを作成する

 Power Automate for Desktopのトップ画面から[+新しいフロー]をクリックして、適当な名前で新規のフローを作成します。

[2]ドキュメントフォルダパスを取得する

 [フォルダー]アクショングループの[特別なフォルダーを取得]アクションを配置すると、設定ダイアログが開きます。

図:特別なフォルダーを取得アクションの配置
図:特別なフォルダーを取得アクションの配置
図:特別なフォルダーを取得アクションの設定
図:特別なフォルダーを取得アクションの設定

 設定ダイアログには、以下の設定を選択/入力し、保存します。

  • 特別なフォルダーの名前:ドキュメント
  • 生成された変数:%Documents%

 [3]フォルダにあるPDFファイルのパスを取得する

 [フォルダー]アクショングループの[フォルダー内のファイルを取得]アクションを配置すると、設定ダイアログが開きます。

図:フォルダー内のファイルを取得アクションの配置
図:フォルダー内のファイルを取得アクションの配置
図:フォルダー内のファイルを取得アクションの設定
図:フォルダー内のファイルを取得アクションの設定

 設定ダイアログには、以下の設定を選択/入力し、保存します。

  • フォルダー:%Documents%\PDFフォルダ
  • ファイルフィルター:*.pdf

 これで、指定したフォルダー配下の、拡張子がpdfであるファイルのパスのリストが変数Filesに格納されます。

[4]現在日時を取得する

 あとからデータを保存する際のフォルダー名に使用するため、現在日時を取得します。

 [日時]アクショングループの[現在の日時を取得します]アクションを配置すると、設定ダイアログが開きます。特に設定は要らないので、そのまま保存します。

図:現在の日時を取得しますアクションの配置
図:現在の日時を取得しますアクションの配置

[5]日付をフォーマットする

 [テキスト]アクショングループの[datetimeをテキストに変換]アクションを配置すると、設定ダイアログが開きます。

図:datetimeをテキストに変換アクションの配置
図:datetimeをテキストに変換アクションの配置
図:datetimeをテキストに変換アクションの設定
図:datetimeをテキストに変換アクションの設定

 設定ダイアログには、以下の設定を選択/入力し、保存します。

  • 変換するdatetime:%CurrentDateTime%
  • 使用する形式:カスタム
  • カスタム形式:yyyyMMdd_HHmmss

[6]ファイル名を取得して変数に設定する

 [変数]アクショングループの[変数の設定]アクションを配置すると、設定ダイアログが開きます。

図:変数(ファイル名)の設定アクションの配置
図:変数(ファイル名)の設定アクションの配置
図:変数(ファイル名)の設定アクションの設定
図:変数(ファイル名)の設定アクションの設定

 設定ダイアログには、以下の設定を選択/入力し、保存します。

  • 変数の設定:%FileName%
  • 値:%Files[0].NameWithoutExtension%

 これで、Filesの最初の要素の拡張子を除いたファイル名を変数FileNameに格納します。

[7]抽出データ出力先のフォルダーを作成する

 [フォルダー]アクショングループの[フォルダーの作成]アクションを配置すると、設定ダイアログが開きます。

図:フォルダーの作成アクションの配置
図:フォルダーの作成アクションの配置
図:フォルダーの作成アクションの設定
図:フォルダーの作成アクションの設定

 以下の設定を入力し、保存します。

  • 新しいフォルダーを次の場所に作成:%Documents%\PDFフォルダ
  • 新しいフォルダー名:%FileName%_%FormattedDateTime%

 これで「PDFフォルダ」フォルダーの配下に、元のファイル名と現在日時に基づいたフォルダーが生成されます。

[8]PDFからテキストを抽出する

 [PDF]アクショングループの[PDFからテキストを抽出]アクションを配置すると、設定ダイアログが開きます。

図:PDFからテキストを抽出アクションの配置
図:PDFからテキストを抽出アクションの配置
図:PDFからテキストを抽出アクションの設定
図:PDFからテキストを抽出アクションの設定

 設定ダイアログには、以下の設定を入力し、保存します。

  • PDFファイル:%Files[0]%

 これで、取得した最初のファイルを読み込み、その結果はExtractedPDFTextという名前の変数に書き込まれます。

[9]テキストをファイルに書き込む

 [ファイル]アクショングループの[テキストをファイルに書き込みます]アクションを配置すると、設定ダイアログが開きます。

図:テキストをファイルに書き込みますアクションの配置
図:テキストをファイルに書き込みますアクションの配置
図:テキストをファイルに書き込みますアクションの設定
図:テキストをファイルに書き込みますアクションの設定

 設定ダイアログには、以下の設定を入力し、保存します。

  • ファイルパス:%NewFolder%\%FileName%.txt
  • 書き込むテキスト:%ExtractedPDFText%

 これでPDFから取得したテキストがファイルに保存されます。

[10]フローを実行する

 以上の手順を終えたら、フローを保存して実行します。

 実行のたびにフォルダが作成されて、PDFからテキストが抽出されます。

図:PDFからテキストを抽出するフローの実行結果
図:PDFからテキストを抽出するフローの実行結果

次のページ
PDFから画像を抽出する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Power Automate Desktopチュートリアル連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 飯島 聡(WINGSプロジェクト イイジマ サトシ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16140 2022/07/26 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング