1

ブラウザでJavascriptを使用してPDFファイルを作成する2つのライブラリ( [1][2] )を知っていますが、いずれもカスタムフォントをドキュメントに埋め込むことはできません。 [2]はカスタムフォントを設定できますが、標準のPDFフォント(Courier、Times-Roman)のみであり、現在アクティブに開発されているものはありません。

まだ活発に開発されており、カスタムフォントの埋め込みをサポートしているブラウザでPDFファイルを作成するためのライブラリを知っている人はいますか?

乾杯、

マヌエル

4

2 に答える 2

3

わかりました。現在の実装ではサポートされていないようです。だから私はemscriptenを使ってlibharuをjavascriptに移植しています:

プロジェクト: https ://github.com/manuels/hpdf.js

デモ: http: //manuels.github.com/hpdf.js/

于 2012-09-28T07:57:06.103 に答える
0

他の誰かが探しているなら、これもあります:https ://github.com/devongovett/pdfkit

hpdfよりも積極的に開発されているように見えますが、ドキュメントに記載されているように、ノードモジュールbrfsでbrowserifyを使用するだけでは機能しませんでした(最初にbrfsは静的パスでのみ機能しますが、生データを出力するようには見えませんでしたフォントが適切に)、私はそれを機能させるためにこれをしなければなりませんでした:

  • フォントにcmap:openがない場合は、fontforgeを使用してフォントをttfとしてエクスポートします(エクスポートオプションにグリフマップを使用)。
  • ttfファイルのbase64を文字列形式で取得します(Pythonを使用してttfファイルの内容を読み取り、base64でエンコードし、改行を削除してから、別のファイルに保存します)
  • 文字列を変数としてスクリプトに貼り付けます
  • バッファオブジェクトを作成し、それをpdfkitを使用してフォントとして渡します。

    fontCenturyGothicBase64 = "your base64 encoded string here";
    fontCenturyGothic = new Buffer(fontCenturyGothicBase64, 'base64');
    
    doc.font(fontCenturyGothic);
    
  • javascriptファイルでbrowserifyを使用します(バッファは純粋なjsではなくノードオブジェクトです)

たぶん、Bufferオブジェクトを使用せずに(したがってbrowserifyを使用せずに)可能ですが、私は試していません。

于 2014-05-24T20:41:53.197 に答える