pdfmakeで簡単に日本語対応しよう
2019-08-10
pdfmake というパッケージがありまして。
名前の通り、JavaScript で pdf ファイルが作れるという、すげーパッケージです。
ただ、一つ難点があって、日本語対応が面倒なんですよね。
自分は npm で導入したので、pdfmake の本体は node_modules フォルダ以下に格納されます。
で、そこに日本語フォントを入れて、スクリプトに反映することによって、日本語対応できるわけですが。
npm スクリプト 1 本でなんとかならんものかと色々書いてみたところ、なんとかなりました。
import { exec } from "child_process";
import * as fs from "fs-extra";
const main = async () => {
// static/fonts フォルダに使用したいフォントを入れてください
fs.copy("static/fonts", "node_modules/pdfmake/examples/fonts");
exec("npm i", { cwd: "node_modules/pdfmake" }, (error, stdout, stderr) => {
console.log(error);
console.log(stdout);
console.log(stderr);
exec(
"npx gulp buildFonts",
{
cwd: "node_modules/pdfmake",
},
(error, stdout, stderr) => {
console.log(error);
console.log(stdout);
console.log(stderr);
},
);
});
};
main();
上記は TypeScript で書いちゃったので、ts-node buildFonts.tsとかで動くと思います。
参考になれば幸いです。