2014-10-31 133 views
0

我試圖使用html2pdf將文件的內容保存到PDF中,但該文件有一些需要處理的PHP代碼。我做了一些研究,發現我必須使用輸出緩衝,以便可以處理文件中的PHP內容。所以,我不喜歡的東西:輸出緩衝替代php

<?php 
    require_once('html2pdf.class.php');  

    ob_start(); 
    require_once('my_file.php'); 
    $content = ob_get_clean(); 

    // force download of $content to a PDF 
    $html2pdf = new HTML2PDF('P','A3','fr', false, 'ISO-8859-1'); 
    $html2pdf->writeHTML($content); 
    $html2pdf->Output('file_name.pdf', 'D'); 
?> 

文件my_file.php的是,有一些PHP代碼和HTML內容,我想保存到一個PDF文件,以及可變$內容在實際處理PHP代碼的內容和一切。這適用於Apache,但不適用於IIS。

有沒有人知道使用輸出緩衝來做這項工作的另一種方法?我試過file_get_contents('my_file.php');但是當我這樣做時,my_file.php中的php內容不會被處理。

請,我正在尋找方法來做到這一點,沒有輸出緩衝,以便它可以在任何服務器上工作。我不在尋找答案,告訴我更改我的IIS服務器配置或使用除html2pdf以外的其他內容。

預先感謝任何幫助

+0

爲您的打印()寫一個包裝。 – 2014-10-31 14:32:46

回答

1

如果你可以修改的my_file.php內容,您可以將所有文本放入一個變量中,而不是直接輸出。

0

最簡單的方法是編輯my_file.php,以便不包含HTML,而是將HTML內容分配給PHP變量。然後,你需要做的就是迴應變量。

//other PHP processing goes here, or anywhere else. 

$someVar = "hello world"; 

$myHTML = "<html>My output: $someVar </html>"; 

echo $myHTML; 

它的處理HTML輸出醜陋的方式,我並不是說這是良好的編程,但如果你想避免編輯配置文件這將是快速和容易。