2017-07-10 21 views
0

HTMLをPDFに変換できるプロジェクトを作成しました。私はphantom-render-stream を使ってHTMLをPDFに変換しています。私の問題は、私はHTMLにオブジェクト値を渡すことができませんでした。以下は私のコードです。URLを使ってオブジェクト値でパラメータを渡す方法

app.js createForm.html

var username = "AAA"; 
var pets = [ 
    {id: 1, name: "cat"}, 
    {id: 2, name: "dog"}, 
    {id: 3, name: "sugar glider"} 
]; 
var address = { 
    line1: "Street A123", 
    town: "Edinburgh", 
    country: "Scotland" 
}; 

render('http://localhost:8888/createForm.html?username='+username+'&pets='+pets+'&address='+address 
.pipe(fs.createWriteStream('customer.pdf')); 

、私はPDFに値を取得し、表示するAngularJSを使用。

createForm.html

<script> 
     var app = angular.module('myApp', []); 

     app.config(function($locationProvider){ 
      $locationProvider.html5Mode(true); 
     }); 

     app.controller('getDataCtrl', function($scope, $location) { 
         var url = decodeURIComponent($location.url()); 
      var value = $location.search(); 

      $scope.username = value.username; 
      $scope.pets = value.pets; 
         $scope.address = value.address; 
      }) 
</script> 

<body> 
     <div ng-app="onePayForm" ng-controller="getDataCtrl"> 
      <p>{{username}}</p> 
      <p>{{pets[0].name}}</p> 
      <p>{{address.line1}}</p> 
     </div> 
</body> 

が正常にHTMLをPDFに変換した後、私は結果を見て、PDFファイルを開きました。ユーザー名のみがpdfに表示され、残りは{{pets[0].name}} {{address.line1}}のように表示されます。

+0

ポスト作業jsfiddle –

答えて

2

render('http://localhost:8888/createForm.htmlusername='+username+'&pets='+pets+'&address='+address) 
    .pipe(fs.createWriteStream('customer.pdf')); 

でクエリのparamsがURLにそれらを追加する前に準備する必要があります。あなたは

var readyPets = encodeURIComponent(JSON.stringify(pets)); 
var readyAddress = encodeURIComponent(JSON.stringify(address)); 

を何をすべきか、その後に上記のコード変更:createForm.htmlに

render('http://localhost:8888/createForm.htmlusername='+username+'&pets='+readyPets+'&address='+readyAddress) 
     .pipe(fs.createWriteStream('customer.pdf')); 

をこれらのparamクエリを解析:

$scope.pets = JSON.parse(decodeURIComponent(value.pets)); 
$scope.address = JSON.parse(decodeURIComponent(value.address)); 
+0

ありがとうございました。その仕事!今私は 'encodeURIComponent'、' decodeURIComponent'、 'JSON.stringify'、' JSON.parse'の使い方を知りました。 –

関連する問題