レコード内容のPDF化・出力方法について

現在、社内で運用する請求書発行アプリを開発しており、レコード保存後にボタン押下イベント等でレコード内容をPDF化する機能の実装を試みております。

プリントクリエイターやRepotoneUなどの有償プラグインは使用せず、自作で実装する必要があるのですが、
Kintone歴かつプログラマー歴が約1年という経験の浅さもあり、苦慮しております。

サーバーなどは立てず、クライアント側だけで処理を行いたいので、
現在、PDFMakeやPDFlibなどのライブラリが使用できないかと検討しておりますが、Kintoneとの組み合わせ方(①そもそも使用できるのか②使用できるならば、どのように連携させるのか)を理解できておりません。

どなたか、上記のようなJavascriptライブラリを使用したPDF出力方法、もしくは上記とは別のクライアント側での出力方法等について、お知恵をお借りできませんでしょうか?

尚、レコード内にはサブテーブルもあり、PDF化するとなると会社規定の請求書フォーマットに落とし込む必要があります。

難易度や実現可能かも含めて、ご教示いただけますと幸いです。
抽象的なご質問となり申し訳ありませんが、何卒よろしくお願いいたします。

こんにちは!

お一人で作成するおつもりでしょうか?

ボタン設置したらクリックイベントでPDFを作成ということですが、ダウンロードするだけですか?添付ファイルとして保存したりを考えていますでしょうか?それによっても難易度が変わってきそうです。

さて、 kintoneとの組み合わせ方 ですが、
ライブラリを使えるようにするにはCDNだったりUMDだったりの方式で
「JavaScript / CSSでカスタマイズ」に追加すると良いと思います。

CDNはここを参考にすると追加の仕方がわかりやすいかも?(Cybozu CDNにPDF系のライブラリはないですが)
第12回 jQueryを利用してみよう

「JavaScript / CSSでカスタマイズ」に追加できたあとはどうやって使うですが、
私の場合は、
(1)ライブラリの公式サイト内のQuickStartなどの記事を参考にkintone関係ないところで動かしてみる
↓動いたら
(2)kintoneでボタンクリックイベントを書く
(3)各ライブラリのサンプルコードをボタンクリックイベント内にコピペして、動かなければ少しずつ修正する

ような感じで試行錯誤しながらやっています。

それと、考えて欲しい点なのですが・・・、

PDFファイル出力ができたとしてもずっとそのアプリのメンテナンスやり続けないと行けないと思いますが
社内で自作ということで、各部署から要望も色々と出てくるのではないでしょうか:eyes:
フォーマットを微妙に変えたいとか。線の太さ、フォント、表示の位置、などなど。

多分ですが、PDF作成するには座標指定とかで文字の位置をかえたり、線を引かなきゃいけないと思います。
少しのフォーマットの変更だって、ドット、ピクセル単位でx,y座標を変更して線を引き直したり、
文字数が変わっただけで始点の座標が変わったり、文字サイズも微妙に変えないといけなくなったりするかと思います。
それをコード上、座標で考えなくてはいけないですし、多分大変です。

そういったことを考えると、プラグインや連携サービスを導入したほうが
誰にでもPDFのフォーマット作れますし、自作するのとは比べ物にならないくらい簡単ですし正確に出力できるかと:eyes:

というわけで、PDFファイル作りたいなら、自作よりはプリントクリエイターやRepotoneUの方をオススメしたいです。

>難易度や実現可能かも含めて、ご教示いただけますと幸いです。
>抽象的なご質問となり申し訳ありませんが、何卒よろしくお願いいたします。

こちらは、
熟練者だと実現は多分可能だけど、今からそんな無駄なものを作ろうとはしないと思うので
プリントクリエイターやRepotoneUを選ぶと思いますし
kintone&プログラミング歴1年の方には難易度激ムズ、実現ほぼ不可能だといって間違いないのではと思います。

juridon様

抽象的なご質問にも関わらず、とても詳細にご回答いただき、ありがとうございます。

 

ボタン設置したらクリックイベントでPDFを作成ということですが、ダウンロードするだけですか?添付ファイルとして保存したりを考えていますでしょうか?それによっても難易度が変わってきそうです。

仰る通り、今回のご質問にはPDF作成をメインに記載いたしましたが、将来的には添付ファイルへの保存や、
一覧からの一括出力、メール送信等の機能についても要望が出ていたため、実装を検討しておりました。
尚、作成者は私のみです。

さて、 kintoneとの組み合わせ方 ですが、
ライブラリを使えるようにするにはCDNだったりUMDだったりの方式で
「JavaScript / CSSでカスタマイズ」に追加すると良いと思います。

ご教示いただいたKintoneとの組み合わせ方や、「JavaScript / CSSでカスタマイズ」へ追加後の方法につきまして、
大変勉強になりました。
今回のPDF作成に関わらず、今後他のライブラリ等を使用する際の手順としても、是非とも活用させていただきます。

PDFファイル出力ができたとしてもずっとそのアプリのメンテナンスやり続けないと行けないと思いますが
社内で自作ということで、各部署から要望も色々と出てくるのではないでしょうか:eyes:
フォーマットを微妙に変えたいとか。線の太さ、フォント、表示の位置、などなど。

多分ですが、PDF作成するには座標指定とかで文字の位置をかえたり、線を引かなきゃいけないと思います。
少しのフォーマットの変更だって、ドット、ピクセル単位でx,y座標を変更して線を引き直したり、
文字数が変わっただけで始点の座標が変わったり、文字サイズも微妙に変えないといけなくなったりするかと思います。
それをコード上、座標で考えなくてはいけないですし、多分大変です。

そうですよね…細かな要望は必ず出てくると思います。
また、座標で考えなくてはならない点も、プラグイン等だと直感的に作成できると思いますし、
仰る様に、クオリティも高くなると思います。

こちらは、
熟練者だと実現は多分可能だけど、今からそんな無駄なものを作ろうとはしないと思うので
プリントクリエイターやRepotoneUを選ぶと思いますし
kintone&プログラミング歴1年の方には難易度激ムズ、実現ほぼ不可能だといって間違いないのではと思います

今回の作業において、客観的に必要だと考えられる技術力を想定することができました。
社内で再度検討したいと思います。

お忙しい中、真摯にご対応いただき、ありがとうございました。

実は昔々、kintoneもない、プログラマー歴3年ほどだった頃に、
社内で一人で、PDFを自作するというお仕事をしたことがありました。
帳票(表やグラフ)を描くのに座標の扱いが本当に大変だったので、寒気がしました^^;
当時の私と重なってしまいまして:fearful:老婆心ながら色々と失礼なことを申し上げましたが(スミマセン)、
同じ轍を踏んでほしくないので是非是非プラグイン等で解決できますよう祈っております:pray:
(確かプランにもよりますが、一括操作や、添付ファイルとして保存、メールも送れますし、めっちゃ便利です!)

juridon様

ご自身のご経験をふまえ、総合的なご助言を頂けたことを大変有難く思っております。
「Kintone PDF作成」と調べても、プラグイン等以外ではなかなか情報がなく…
実現可能性や難易度も判断しづらかった為、貴重なご意見を頂き、感謝しております。

仰る様に、プラグイン等だと他に出ている要望についても対応できるようですので、
その点も踏まえ、社内で検討したいと思います。

親身にご対応いただき、ありがとうございました。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。