jsPDFはフロントエンドでPDFを生成できるとっても便利なライブラリー。早速試してみましょう。
const doc = new jsPDF({
orientation: 'p',
unit: 'px',
format: 'a4',
putOnlyUsedFonts: true
})
const fileName = 'hoge.pdf'
doc.setFontSize(10).text('Hoge', 10, 10)
doc.save(fileName)
とっても簡単ですね。でも、あれ? iOS SafariだとPDF出力できませんね。どうやらiOSはFileSystemがないので、直接PDFダウンロードができないようです。
というわけで、モバイルの時はダウンロードしないで、新しいタブにPDFを直接表示してみましょう。
if (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase())) {
window.open(doc.output('bloburl', { filename: fileName }))
} else {
doc.save(fileName)
}
これでモバイルでは新しいタブにPDFが表示されました。
ユーザーはブラウザのシェア機能を使って、PDFを保存したりメールで送ったりできるようになりましたとさ。