javascript - 如何在 jspdf.js 中设置导出表格的字体大小?

标签 javascript html angularjs pdf jspdf

我正在使用 jspdf.debug.js 从 html 页面导出 pdf 数据。这是我正在使用的 Controller 的功能。我制作了一个字符串作为我要导出的 html 表。

$scope.exportReport = function (fileName, fileType) {
   objReport.count = 0;   // for getting all records
   ReportService.getSaleDetail(objReport).then(function (result) {
        var strTable = "<table id='tableReport'><tr><td style='width:400px'>Date</td><td style='width:50px'>Order Id</td><td style='width:130px'>Product</td><td style='width:120px'>Gorss Price</td><td style='width:160px'>Currency</td><td style='width:50px'>Order Status</td><td style='width:150px'>Assigned To</td><td style='width:150px'>Assigned User Email</td><td style='width:150px'>Country</td></tr>";
        var strRow = '';
        if (result.data.totalRecords > 0) {
             var totalRecords = parseInt(result.data.totalRecords);
             var saleDataJson = result.data.saleDetail;
             for (var i = 0; i < totalRecords; i++) {
                 strRow = '<tr><td>' + saleDataJson[i].date + '</td>' + '<td>' + saleDataJson[i].orderId + '</td>' + '<td>' + saleDataJson[i].product + '</td>' + '<td>' + (1 * saleDataJson[i].grossPrice).toFixed(2) + '</td>' + '<td>' + saleDataJson[i].currency + '</td>' + '<td>' + saleDataJson[i].orderStatus + '</td>' + '<td>' + saleDataJson[i].assignedTo + '</td><td>' + saleDataJson[i].assignedUserEmail + '</td><td>' + saleDataJson[i].country + '</td></tr>';
                 strTable += strRow;
             }
             strTable += "</table>";
        }
        if (fileType === 'pdf') {
                var pdf = new jsPDF('p', 'pt', 'letter')    // jsPDF(orientation, unit, format)
                        , source = strTable
                        , specialElementHandlers = {
                            // element with id of "bypass" - jQuery style selector
                            '#bypassme': function (element, renderer) {
                                // true = "handled elsewhere, bypass text extraction"
                                return true;
                            }
                        },
                margins = {
                    top: 30,
                    bottom: 40,
                    left: 35,
                    width: 600
                };

                pdf.setFontSize(12);
                pdf.text(200, 30, fileName);
                pdf.setFontSize(8);
                pdf.setFontStyle('italic');
                pdf.text(420, 35, 'Total Records : ' + totalRecords);
                pdf.fromHTML(
                        source // HTML string or DOM elem ref.
                        , margins.left // x coord
                        , margins.top // y coord
                        , {
                            'width': margins.width // max width of content on PDF
                            , 'elementHandlers': specialElementHandlers
                        },
                function (dispose) {
                    // dispose: object with X, Y of the last line add to the PDF
                    //          this allow the insertion of new lines after html
                    pdf.save(fileName + '.pdf');
                },
                        margins
                        )
            }

        });

    };

这个方法是这样导出pdf文件的

enter image description here

我尝试过使用 tang 的样式,但它不起作用 如何降低字体大小以便我可以正确导出 pdf 文件?

最佳答案

pdf.setFont("helvetica");
pdf.setFontType("bold");
pdf.setFontSize(9);

关于javascript - 如何在 jspdf.js 中设置导出表格的字体大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30319763/

相关文章:

Javascript - 使用reduce方法进行分组函数

javascript - 自动更新图像值

javascript - 不填充模板的 AngularJS 和指令范围

javascript - Angularjs,从工厂获取数据

javascript - Document.ready 带/不带函数,并将数组添加到现有代码中

javascript - 使用所需的键过滤 JSON

javascript - 内部问号或 angularjs 的 url 出现问题

php - 通过在 codeigniter php 中选择文本来更改不透明颜色

html - 乌里 :hover Unstable Look

angularjs - SEO:Google 如何索引 Angular 应用程序 2016