PDFKitでの日本語タイトルと作成者・主題
PDFKitでPDFのタイトルや作成者・主題を設定するには以下の様にします。
var doc = new PDFDocument(); doc.info['Title'] = 'Title'; doc.info['Author'] = 'Author'; doc.info['Subject'] = 'Subject';
もしくはコンストラクタで指定します。
var doc = new PDFDocument({ 'info': {'Title': 'Title', 'Author': 'Author', 'Subject': 'Subject'} });
しかし、日本語を使おうとすると以下の様に文字化けが発生してしまいます。
これに対応するには、以下の様にUTF-16BEに変換した上で、\xFE\xFFを文頭に入れる必要がありました。
var doc = new PDFDocument(); var iconv = require('Iconv'); var conv = new iconv.Iconv('utf8', 'UTF-16BE'); var bom = "\xFE\xFF"; doc.info['Title'] = bom + conv.convert('あい会い愛日本語').toString(); doc.info['Author'] = bom + conv.convert('せな').toString(); doc.info['Subject'] = bom + conv.convert('あのイーハトーヴォのすきとおった風、').toString();
ただし、いくつか試した結果、Lionのプレビュー機能およびAdobe Readerでは一部の日本語以外は文字化けしてしまいます。
もうちょっとな感じがするんですが。