Vueで日本語PDFの帳票をクライアント生成してダウンロードさせる方法canvas版

Vueで日本語PDFの帳票をクライアント生成してダウンロードさせる方法canvas版:


前置き

Reactのプロジェクトで日本語PDFを生成するプロジェクトがあったので、Vueでもやってみました
Reactで日本語PDF

なお、単一ファイルコンポーネントでの対応です。


使うもの


どうするのか

Qiitaで「vue pdf」検索すると出てくるのがこの記事です。
https://qiita.com/komatzz/items/b71167a024444f463a6b

Reactでの先駆者の記事と同じくpdfmakeの素の文字機能を使っており、日本語でのPDF帳票ができるところまでなかなか難しい。

また、レイアウトなども難しそうです。

なので、DOMをcanvasにしてPDFに出力する方法を取ります。


モジュール追加

npm install --save pdfmake html2canvas 


その他

logic.jsを作成し、サンプルコードを貼り付けます。

paper.cssを作成し、サンプルコードを貼り付けます。

そして、refsで参照したelementを、logic.jsの関数に食べさせればOKです。

参考のソースはCodesandboxに作ったのでこちらを見てください。
https://codesandbox.io/s/mqyzy8158x

もしも画面内プレビューがいらない場合は、印刷するコンテンツをこのようにすっ飛ばすと良いようです。

position: fixed; 
  top: 200vh; 

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)