【问题标题】:AngularJS - Download PDF after trigger generatingAngularJS - 触发器生成后下载 PDF
【发布时间】:2017-03-20 16:41:15
【问题描述】:

我找到了几篇关于这个主题的文章,但没有一篇文章能帮助我达到我设法下载带有 angular 的 pdf 文件的程度。

所以背景是,用户单击一个按钮,将一些数据发送到我的创建 pdf 文件的 php 脚本。完成后,应立即开始下载文件。

用户点击这个:

<button class="btn pull-right" ng-click="printList(products)">Create list</button>

那我就有这个功能了:

app.controller('Delivery', function($scope, $routeParams, Products, List) {    
$scope.printList = function ($products) {
      List.save({
        'products': $products,
        'selectedDate': $scope.state.dates.start
      }, function () {
      });
    };
});

还有工厂:

app.factory('List', function($resource) {
  return $resource('/backend/FpDashboard/listApi');
});

在 PHP 中,我有在服务器上创建 pdf 文件的操作,但是如何管理来自 List.save 的回调以开始文件下载?

谢谢!

【问题讨论】:

    标签: javascript php angularjs pdf


    【解决方案1】:

    我的项目中也有相同的功能,这是我用来将数据下载为 PDF 的代码。

    downloadAsPdf.getfile(data)
          .success(function(data) {
              data.fileName = decodeURIComponent(data.fileName);
              if(isSafariOrIE){
                  windowReference.location = data.fileName;
              } else {
                  var save = document.createElement('a');
                  save.href = data.fileName;
                  save.target = '_blank';
                  save.download = data.fileName || 'unknown';
                  var evt = new MouseEvent('click', {
                      'view': window,
                      'bubbles': true,
                      'cancelable': false
                  });
                  save.dispatchEvent(evt);
                 (window.URL || window.webkitURL).revokeObjectURL(save.href);
           }
       })
    

    【讨论】:

    • 谢谢@muhammed-neswine - 我如何调用这个函数以及什么参数是“数据”?就我而言,我将在回调中调用一个函数:function () { });
    • downloadAsPdf.getfile(data) 只返回一个 http 承诺,我在其中调用我的 API 来生成 PDF。 “数据”只是我的 API 参数。下载的代码在成功回调中。
    • @Torben:我希望你能成功。如果有帮助,请点赞。
    猜你喜欢
    • 2022-07-19
    • 2023-03-30
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    相关资源
    最近更新 更多