【发布时间】:2017-09-21 01:29:23
【问题描述】:
我想制作当前页面的 pdf,以便用户可以打印出来,但每个页面都是动态的,所以我需要一种文本到 pdf 生成器才能使其工作。
它是一个 ionic2 应用程序,类似于食谱页面,因此您可以单击一个按钮,它只是从文本中生成一个 pdf。
你们知道我是怎么做到的吗?
【问题讨论】:
标签: html angular pdf ionic2 generator
我想制作当前页面的 pdf,以便用户可以打印出来,但每个页面都是动态的,所以我需要一种文本到 pdf 生成器才能使其工作。
它是一个 ionic2 应用程序,类似于食谱页面,因此您可以单击一个按钮,它只是从文本中生成一个 pdf。
你们知道我是怎么做到的吗?
【问题讨论】:
标签: html angular pdf ionic2 generator
你最好的选择可能是这个插件:
https://github.com/cesarvr/pdf-generator
为您的动态页面部分提供一个 id,例如“pdf-area”,然后在您的 .ts 文件中选择它,如下所示:
let content = document.getElementById('pdf-area').innerHTML
然后你可以把它变成一个文件或像这样打印它
cordova.plugins.pdf.htmlToPDF({
data: content,
type: "base64"
},
(success) => {
// you might have to turn the base64 into a binary blob to save it
// to a file at this point
},
(error) => console.log('error:', error);
);
}
【讨论】:
将你的 html 放入 assets 文件夹中,并给出这样的 html 路径。
在我的情况下,这条路径是有效的: var file = 'file:///android_asset/www/assets/lolc.html';
generatePdf(){
const before = Date.now();
document.addEventListener('deviceready', () => {
console.log('DEVICE READY FIRED AFTER', (Date.now() - before), 'ms');
var file = 'file:///android_asset/www/assets/lolc.html';
cordova.plugins.pdf.fromURL(file,{
documentSize: "A4",
landscape: "portrait",
type: "share"
}),
(sucess) => console.log('sucess: ', sucess),
(error) => console.log('error:', error);
});
}
【讨论】: