Power Automate DesktopでPDFのページ数を取得するのは難しい
Power Automate DesktopでPDFのページ数を取得するのは容易ではないという話です。 2022/12/04 追記 Acrobat や Edge を利用してページ数を取得するフローを作ってみました。 Power Automate Desktop: Acrobat を使ってPDFのページ数を取得 Power Automate Desktop: Edge を使ってPDFのページ数を取得 PDFをページごとに処理するにはページ数が必要 銀行のサイトから計算書を取得しました。1ページ1件で複数ページあります。このファイルから1件ごとにデータを取得したいと思います。 「PDFからテキストを抽出」アクションを使ってループ内で1ページごとデータを取得して処理しようと思いました。 ループを使うにはファイルのページ数が必要です。簡単にPower Automate Desktopで取れるのだろうと思ったらなんとそのような方法が見つかりませんでした。 ありえないページ数を最大値に指定して、見つからなかったらエラー処理という方法も考えられますが好きではありません。 ExtractedPDFTables.Countを使用 丁度今月リリースされたPower Automate Desktop 2.17 には「PDFからテーブルを抽出する」というアクションが追加されています。 このアクションで取得されたデータの Count プロパティを使うとファイルに含まれるテーブル数を取得できます。 今回のPDFファイルは1ページに1つテーブルが含まれていたため、これを使って取得することができました。 例:ExtractedPDFTables.Count アクションの実行に時間はかかるものの、今回の件では確実にページ数を取得でき、正しく処理できました。 PDFから直接ページ数を取得するのは容易ではない PDFファイルを直接読み込んでページ数を取得できるのではと思いました。 見て作って学ぶ、PDFファイルの基本構造 しかし、実際にはバージョン違い等があって、容易ではないようです。 EXCEL VBA AcrobatReaderやAdobeを使わずにPDFのページ数を取得する方法 自社で作ったPDFならバージョンやフォーマットがある程度特定できるのでこういった方法も一つだと思います。 しかし、いろん