【PowerAutomate】PDFファイルをマージする



今回はOneDrive上のPDFファイルを取得し、マージするフローを作成していきたいと思います。

※注意※
以下の記事は有償版のプレミアムライセンスを利用する方法になっております。


## 事前準備

マージしたいPDFファイルをOneDrive(クラウド上)に配置しておきます。

週報①.pdfと週報②.pdfが今回のマージ対象のPDFファイルです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/401ab9fd-2890-8fc8-69dc-af9cf27f4552.png)

中身↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/e99db656-e809-f614-fb44-5099951af263.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/d5ba602e-9407-4e4e-f594-fdc90c036606.png)


フローの中でPDFファイルを作成して使用することもできます。

PowerAutomateでPDFファイルを作成する方法は[こちら](https://qiita.com/suzu_qiita/items/39ab7fa814c7a5a72507)をご参照ください。



今回はPowerAutomateフォルダの中にPDFファイルを配置し、マージしたPDFファイルを同フォルダ内へ出力する予定ですが、業務等で複数のファイルを処理する場合はさらにマージ済PDFフォルダを作成して区別すると分かりやすいです。




## フローを作成する



### step1

マージしたいPDFファイルの取得をします。

今回はOneDriveにファイルを配置しているので、

検索窓で「OneDrive」と入力して、変数アクション群の中から「ファイル コンテンツの取得」アクションを選択します。

配置してある場所に移動して、ファイルを選択します。

※今回はデモのためファイル名をリテラルで指定していますが、本来は変数を使うことで動的にすることができます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/6cb51561-e660-0b0f-58ac-3c721f01d3a7.png)


### step2


検索窓で「Adobe PDF サービス」と入力して、変数アクション群の中から「PDF のマージ」アクションを選択します。

初回だとPDFの接続を行う必要がありますので、アクションの・・・から新しい接続を追加するを押して設定を行ってください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/a027a919-150e-8b71-7514-a4067d951032.png)

Automate向けPDFコネクタアカウント(無料)につきましては[こちら](https://helpx.adobe.com/jp/document-cloud/help/pdf-connector-for-microsoft-power-automate.html)の[資格情報を取得する方法]をご参照ください。

<br>

【補足】

利用規約に同意する箇所が少し分かりづらいですが、

リンクをクリックすると利用規約が表示されるので、一番下までスクロールすると[Accept and continue]が押せるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/fd920d52-14cf-25ee-246f-7ce078d3144f.png)

<br>

マージされたPDFファイル名：お好みの名前を付けてください

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/83bab265-a28a-30b4-4309-ed2a261d85a2.png)

ソースファイルコンテンツをセットします。

まず、右端にあるTマークをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/2ed76901-cd24-1a78-d74e-d452fb2a82e4.png)


[
null
]
が表示されるので、nullの場所に先ほど取得したファイルコンテンツを入れていきます。

中身はリスト形式で入れてください。

動的なコンテンツに表示されない可能性があるので、その場合は下記を参考に式から手打ちしてファイルコンテンツを引っ張ってきてください。

body('`ファイル_コンテンツの取得_-週報①`')

シングルクォーテーションの間にアクション名を入れて、[OK]ボタンを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/2e0c0a5d-571e-6def-5693-eac5a8e80c31.png)

リスト形式の記述方法にならって、記載します。

[
週報①,
週報②
]


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/47cd6830-2b83-7719-1b8b-bfb4abcf1acb.png)

こういう感じで、配列変数をそのまま格納してもOKです。↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/395047c1-f893-8d9c-5fc5-e483590daa67.png)




### step3

最後に、

検索窓で「OneDrive」と入力して、変数アクション群の中から「ファイルの作成」アクションを選択し、動的なコンテンツから値をセットします。


ファイル名：`PDFファイル名`
ファイルコンテンツ：`PDFファイルコンテンツ`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/2aaeebb9-fc04-b35f-aeaa-024a3beef31d.png)



## 実行してみる

それではフローを実行してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/d7831d20-c25e-ab27-996c-ef098d8a331f.png)


指定したフォルダを確認すると、無事に作成されています。◎

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/18327bd5-78f7-ef79-5281-ec4732c8494d.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/9d3dfced-27c4-106d-7c73-2267620ee3b8.png)

<br>

【小ネタ】

ファイルの作成の設定からチャンクの許可をオフにすると、同じフォルダ内に同名ファイルを作成した際に名前の重複エラーが発生せず、自動的に置き換えてくれるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/4387e69a-8bfe-1da0-708f-c341e23f8d2e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3069823/41afcdb3-c949-c60f-ffb9-908440f91b85.png)


## おわりに

読んでいただきありがとうございました！

お役に立てれば幸いです。