私はpdf出力を生成するユーティリティツールを開発しています。データはユーザから取り出され、ある操作の後に、すべてのcssがそのままの状態で.pdf形式で必要とされる予め定義されたフォーマットに変換される。javascriptライブラリから品質の良いpdfを生成する際の問題:jspdfとhtml2canvas
完全にクライアント側のアプリケーションです。
私はこれにjsPdf + html2canvas
を使用しています。しかし、私は心配しています:
- 最初に、APIドキュメントは見つかりませんでした。私はいろいろな場所で見つかったコードの一部を使っています。
- 何と言っても、出力の品質は期待通りではありません。
- 私のHTML文書が複数のページを占有するのに十分な大きさであれば、私はまだ最初のページのみのpdfを取得できます。 (これは私が知識が不足していることが原因だと思います。文書の不足によるものです。)
私はこれまでに多くの類似の質問があります。私はそれらのほとんどすべてを試しました、少ししか動作しない、いくつかのエラーを引き起こすものはほとんどなく、私はまだまだ立ち往生しています。
だから私のクエリ:
は良い品質のPDF(それが画面上に表示されているかの少なくとも80%-90%)を製造するのに適した、私の選択です。誰かが私をjspdfとhtml2canvasの良質な出力の部分に向けることができれば本当に感謝します。
これらのライブラリに関する適切なドキュメントを参照してください。私が現在持っているのは
doc
のフォルダで、zip
のgithubのファイルに沿って提供されています。この方法が実現できない場合は、より良い製品をご利用ください。品質は私たちにとって最高のノッチ要件であり、パフォーマンスは交渉することができます。有料ライブラリの準備が整いました。しかし、クライアントサイドのツール(文字通り、サーバ側の実装が不要なため)を好む。
私は上記のクエリのために質問を投稿が、念のために必要な、私のコード:
function previewCtrlFn($scope, Database){
var vm = this;
vm.resume = Database.resume;
console.log(angular.toJson(vm.resume));
vm.pdf = createPDF;
var form = $('#aa'),
width = form.width(),
a4 =[ 615.28, 841.89];
function createPDF(){
getCanvas().then(function(canvas){
var
img = canvas.toDataURL("image/png"),
doc = new jsPDF({
unit:'px',
format:'a4'
});
doc.addImage(img, 'JPEG', 5, 5);
doc.save('resume.pdf');
form.width(width);
});
}
// create canvas object
function getCanvas(){
form.width((a4[0]*1.33333) -80).css('max-width','none');
return html2canvas(form,{
imageTimeout:1000,
removeContainer:true
});
}
}
私は本当にこの上でいくつかの簡単な助けを必要としています。