PHP表+;pdfMake+;安格拉斯
我是PHP和AngularJS的高手 我有一个使用PHP-AJAX与web服务进行通信的网页。它查询数据库,并在html占位符中回显结果(一个大表) 我想在用户按下按钮时将该表的内容打印在可下载的PDF文件中 我想使用PDFmake,现在它可以很好地用于测试目的,但我如何才能将表中的内容传递给AngularJS的应用程序? 也许我应该将表的id传递给docDefinition内容?那样的话,我不知道怎么做。 注意:可能我的方法不正确,因为我必须将PHP降级到不同的任务中,并使用AngularJS查询数据库,但现在我想继续使用这种方法PHP表+;pdfMake+;安格拉斯,php,angularjs,pdfmake,Php,Angularjs,Pdfmake,我是PHP和AngularJS的高手 我有一个使用PHP-AJAX与web服务进行通信的网页。它查询数据库,并在html占位符中回显结果(一个大表) 我想在用户按下按钮时将该表的内容打印在可下载的PDF文件中 我想使用PDFmake,现在它可以很好地用于测试目的,但我如何才能将表中的内容传递给AngularJS的应用程序? 也许我应该将表的id传递给docDefinition内容?那样的话,我不知道怎么做。 注意:可能我的方法不正确,因为我必须将PHP降级到不同的任务中,并使用AngularJS
谢谢我建议您使用角度服务(如中所述) 然后,您可以在控制器中使用它从后端获取数据,并在PDFmake中构建表结构:
“将内容传递给angularJS应用程序”是什么意思?您是否尝试过在上解释的方法(旁注:对于您的问题,无论您是使用php还是其他方式生成HTML,似乎都无关紧要,因此这不是您问题的一部分)谢谢您,但很抱歉,我无法理解。什么是html2canvas?我的意思是,如何从AngularJS(用于pdf打印)访问表的数据?我必须将表的id从我的php页面传递到Angular应用程序?如果是,我怎么做?我有点困惑,我编辑了原文。谢谢你的建议。
var bigTableApp = angular.module('bigTable',[])
bigTableApp.factory('BigTableSrv', ['$resource',
function($resource) {
return $resource('URL_to_php_backend', {}, {
query: {
method: 'GET',
params: {param1: 'value 1', param2: 'value 2'},
isArray: true
}
});
}
]);
bigTableApp.controller('BigTableController', ['$scope', 'BigTableSrv',
function BigTableController($scope, BigTableSrv) {
$scope.bigTable = BigTableSrv.query();
$scope.pdfMakeTable = {
// array of column widths, expand as needed
widths: [10, *, 130],
body: []
};
$scope.printTable = function() {
pdfMakeTable.body = $scope.bigTable.map(el => {
// process each element of your "big table" to one line of the
// pdfMake table, size of return array must match that of the widths array
return [el.prop1, el.prop2, el.prop3]
});
// create the pdfMake document
let docDefinition = {
content: [ pdfMakeTable ]
}
// print your pdf
pdfMake.creatPdf(docDefinition).print()
}
}
]);