Power Automate for desktopでPDFファイルを複数ページずつ分割する方法
先日、600ページあるPDFファイルを2ページずつ分割したいという要望がありました。
1ページずつの分割であればできるフリーソフトは結構あるのですが、複数ページずつ分割できるフリーソフトってあんまりないんですよね。
いろいろ調べていたところ、Power Automate for desktopで分割する方法をMiyakeさんが記事にしていらっしゃいました。
という訳で、Miyakeさんの記事を元に自分でもフローを作ってみました。
フロー
ポイント
①インプットボックス
インプットボックスを使って、元ファイルと分割ページ数をユーザーに入力させるようにしています。
ちなみに、ダイアログの「キャンセル」ボタンを押してもその後の処理は実行されてしまうため、[Switch]と[Case]を使って「OK」の時にだけ処理を実行させるようにしています。
②複数ページで分割させる方法
複数ページで分割させるためには、[新しいPDFファイルへのPDFファイルページの抽出]の[ページ選択]の部分に、[1-3]のように抽出するページを設定します。
%LoopIndex%を使って抽出するページを変化させていきたいので、[Loop]アクションの増分に分割したいページ数(アクション5でユーザーに入力させた数字)を設定し、[新しいPDFファイルへのPDFファイルページの抽出]の[ページ選択]を、[%LoopIndex%-%LoopIndex + PageSu - 1%]と設定しています。
③分割したいページ数を1ページとそれ以外で条件分岐
上記設定にした場合、分割するページ数を1ページにするとエラーが出てしまったので、1ページとそれ以外で条件分岐しています。
分割するページ数が1ページの場合には、[ページ選択]は素直に[%LoopIndex%]で大丈夫です。
いけてないところ
この方法、[ページが範囲外です]のエラーを検知して、Loopから抜けています。
その為、総ページ数が分割ページ数で割り切れない場合、一番最後のファイルが出力されません。
実用の際にはご注意ください。
2023.5.2追記
100枚単位で処理すると途中でエラーが出てしまいました。
エラーが出る場合には、[新しいPDFファイルへのPDFファイルページの抽出]アクションの「エラー発生時」処理の[エラーが発生した場合にアクションを再試行する]をオンにしてください。
この記事が気に入ったらサポートをしてみませんか?