複数のdivコンテンツをPDFに書き出しています。私はPDFにデータをエクスポートすると、別のページに各divのコンテンツを表示したい。これを達成するために私は以下のコードに示すように追加しようとしていたが、デモplunker(ユーザーがエクスポートボタンをクリックすると、PDFがダウンロードされ、divコンテンツが個々のページに表示されます)https://plnkr.co/edit/KvkVlYmmmJiZ71sghb1l?p=preview(作業デモプランナー、PDFの個々のページに各divコンテンツが表示されます)。 JS.each()関数内でdivをdivに追加できませんでした
source.append($('<div>'));
source.append($(this));
source.append($('</div><!--ADD_PAGE-->'));
完全なコード:
app.controller("listController", ["$scope",
function($scope) {
$scope.employees = [{pageIndex: "randomText1",pageHeader: "This should be shown in page1"},
{pageIndex: "randomeTexthere",pageHeader: "This should be shown in page2"},
{pageIndex: "someRandomText",pageHeader: "This should be shown in page3"},
{pageIndex: "four",pageHeader: "This is shown in page4"},];
$scope.export = function() {
var pdf = new jsPDF('landscape');
var source = $('#append-source');
$('.myDivClass').each(function(){
var html = $(this);
source.append($('<div style="background-color: yellow">'));
source.append(html));
source.append($('</div><!--ADD_PAGE-->'));
//var html = "<div>"+$(this) + "</div><!--ADD_PAGE-->";//the code is broken with this line
});
console.log(source);
pdf.addHTML(
source, 0, 0, {
pagesplit: true
},
function(dispose){
pdf.save('test3.pdf');
}
);
}
}
]);
デモplunker()(.eachに新しいdiv要素を追加できませんでした):https://plnkr.co/edit/uUiK0Mv8mn88JEEyI3rf?p=preview
それは、Webページ上に表示一部の特殊文字をロードしていないとして、私はpdf.fromHTMLを使用することはできません。サンプルコードのデモをhttps://plnkr.co/edit/mb6a9M2yi0iQwL2JA0dn?p=previewで見つけてください。黄色で強調表示されているテキストが含まれています.PDFにエクスポートすると色がエクスポートされません。 fromHTML、それは私がfromHTMLの代わりにaddHTMLを使用している理由です。実際のロジックを変更して任意の提案が役立つだろう。 – user8838953
@ user8838953、addHTML関数を使ったUPDATEDの回答 –