webアプリケーションの開発をしていると、帳票をPDFで出力したいといった要望を頻繁に受けます。
これまでは、帳票をエクセルで生成してダウンロードしてもらい、
それを手動でPDFへ変換するようにクライアントにお願いしていましたが、
請求書フォーマットをそのまま請求先へメールで送信する処理になり、
どうしても自動でPDF化する必要がでてきました。
請求書なので、フォントやレイアウトの崩れがない、
手動で変更したような綺麗なPDFを生成しないといけません。
あれこれ調べているうちに、Microsoft Graph APIを知り、
PHPExcelで生成した請求書のエクセルをSharepointへアップロードして、
PDF形式でダウンロードすることで、綺麗なPDFへ変換できることを知りました。
他にもPDFへ変換したり、PDFを生成する手段はありそうでしたが、
安定して綺麗なPDFを作れるのはこのAPIだと思います。
このAPIも想定以上に時間がかかりましたので、無料で公開はできませんが、
システムに組み込んで使用したい方はご連絡ください。
有償となりますが、2,500円にてご提供致します。
PHPは1枚だけです。Office365のライセンスが必要です。
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
連絡先:t0798452571@gmail.com
ご連絡をいただけましたら、お振込み先をお知らせいたします。
お振込確認後、メール添付にてPHPファイルをお送りします。
(※御請求書・領収書など、必要な際は発行いたします。)
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
下記はエクセル、ワード、パワーポイントなどの
オフィス系ファイルをPDFへ変換するデモサイトです。
こちらでPDFの変換レベルをご確認ください。
APIに必要なキー値:
1.ディレクトリ (テナント) ID
2.アプリケーション (クライアント) ID
3.クライアント シークレットの値(シークレットIDは要らない)
4.ユーザーID
エクセルファイルをPDFへ変換する大まかな処理工程です。
エクセルファイルのサイズなどにもよりますが、概ね数秒でPDFファイルが作成できます。
1)PHPExcelなどでエクセルファイルを生成。
↓
2)APIでアクセストークンを取得
↓
3)API + Curlでsharepointサーバーへエクセルファイルをアップロード
↓
4)APIでアップしたエクセルをPDFフォーマットでダウンロードし、file_put_contentsでサーバー内に保存
↓
5)APIでsharepointへアップした元のエクセルファイルを削除