2016-04-27 12 views
0

html2pdfを使用してpdfファイルを生成しようとしていますが、読めないコンテンツを取得するために成功することができません 基本的に私は単純なPHPページを生成します他の側からpdfファイルangularjsでhtml2pdfを使用する

$content = ob_get_clean(); 

require_once(dirname(__FILE__).'/../vendor/autoload.php'); 
try 
{ 
    $html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', 0); 
    $html2pdf->writeHTML($content, isset($_GET['vuehtml'])); 
    $html2pdf->createIndex('Sommaire', 25, 12, false, true, 1); 
    $html2pdf->Output('bookmark.pdf'); 
} 
catch(HTML2PDF_exception $e) { 
    echo $e; 
    exit; 
} 

は、私は、彼はそれにいくつかのデータを送信し、コントローラ側で最後の部分のために戻って、この

this.generatePDF = function (commande) { 
    var deferred = $q.defer(); 
    $http({ 
     method: 'POST', 
     //responseType: 'arraybuffer', 
     url: 'vendor/modules/html2pdf/examples/bookmark.php', 
     timeout: 15000, 
     data: $.param({'data': commande}), 
     headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
     //headers: {'Content-Type': 'application/pdf'} 
     //header :{"Content-Disposition": "attachment; filename=sample.pdf"} 
    }).then(function successCallback(response) { 
     debugger; 
     deferred.resolve(response.data); 
    }, function errorCallback(response) { 
      deferred.resolve(response.statusText); 
    }); 
    return deferred.promise; 
}; 

のようなものを、ファイルを取得し、私のサービスを持っていますユーザーpresse generate私は自分のサービスを呼び出し、それにデータをバインドするその後、

var popup = $window.open('', 'TEST', 'width=500,height=900'); 

ServiceCommande.generatePDF($scope.commande).then(function (data) { 
    popup.document.write(data); 
}); 

事がある代わりに、私はstrange behavior pdf format

はありがとう送信、PDFのいくつかの奇妙なものを得る^成功した後に戻って全体のものを取得し、新しいウィンドウの内容に書き込みます^

+0

//create page var page= require('webpage').create(); var system = require('system'); page.paperSize = { format: 'A4', orientation: 'portrait' } //check for number of parameters if (system.args.length < 3) { console.log('Usage: phantomjs index.js <web page URL> <ouptut path/filename>'); phantom.exit(); } page.open(system.args[1], function (status) { console.log("Status: " + status); if (status === "success") { page.render(system.args[2]); } else { console.log("Failed") } phantom.exit(); }); 

今すぐ任意のWebページのリンクを取得、それはとしてコマンドを発行し、PDFファイルに変換します。読み取り可能な形式ではありません。テスト目的のために、奇妙なことを* .pdf *のファイルで保存して開こうとすることができます。あなたはあなたの生成されたPDFで何をしたいですか?ポップアップに表示する場合は、まずpdfとして保存してからhtmlに読み込む必要があります。 – kabaehr

+0

クイック返信ありがとう、ええこれは私がそれが欲しいものです私はすでにpdf形式にファイルを保存していますので、pdfテキスト全体を送信する代わりに、私はちょうどファイルを開くために現在の場所を送る必要がありますそうですか? –

答えて

0

PhantomJS `を試してください。 CSS要素の幅広いサポートを受けています。

インストールし、実行可能ファイルをシステムの環境PATHに配置します。 ファイルindex.jsを作成します。このファイルの内容は次のようになります。これは、PDFファイルは、テキストでどのように見えるかです

phantomjs index.js index.html index.pdf 
関連する問題