特定のファイルを PDF として印刷する
Power Automate Desktop には、ファイルのパスを指定して印刷するアクションがあらかじめ用意されていますが、どのプリンターを使用するか選択することができません。
既定のプリンターから印刷されてしまうため、PDF で印刷することができない場合があります。
今回は特定のファイルを PDF として印刷する方法を解説します。
解決方法
Power Automate Desktop には既定のプリンターを変更するアクションと、現在の既定のプリンター名を取得するアクションが用意されています。
これを利用して、実行前の既定のプリンター名を保持しておいた上で、既定のプリンターを PDF 出力用のプリンターに変更し、実行後に既定のプリンターを戻す処理を入れることで、PDF 出力を実現できます。
コピーアンドペーストで実装
今回はサンプルとして、パブリックのドキュメントに保存されている"document.txt"というテキストファイルを PDF として印刷するシナリオを用意しました。
以下のコードをコピーし、Power Automate Desktop の編集画面に貼り付けることで、対象のアクションが追加されます。
Workstation.GetDefaultPrinter PrinterName=> PrinterName
Workstation.SetDefaultPrinter PrinterName: $'''Microsoft Print to PDF'''
Workstation.PrintDocument DocumentPath: $'''C:\\Users\\Public\\Documents\\document.txt'''
WAIT 1
Workstation.SetDefaultPrinter PrinterName: PrinterName
Power Automate Desktop を操作して実装
- 「アクションの検索」から、「既定のプリンターを取得」と入力し、アクションを追加します。
- 「アクションの検索」から、「既定のプリンターを設定」と入力し、「プリンター名」の部分に PDF 出力用のプリンターを設定します(「Adobe PDF」や「Microsoft Print to PDF」がこれにあたります)
- 「アクションの検索」から、「ドキュメントの印刷」と入力し、印刷したいファイルのパスを指定します。
- 再度「アクションの検索」から、「既定のプリンターを設定」と入力し、1 で保持しておいた変数を指定します。
エラー発生時の対処
今回のシナリオ実行時、途中でエラー終了してしまった場合、既定のプリンターが変更されたままになってしまう可能性があります。 ブロック処理を入れておき、エラーが発生した場合も必ず既定のプリンターを戻すように設定しておくことをおすすめします。