2014-03-07 62 views
0

我在save.php下面的代碼:傳遞圖像DOMPDF

<?php 
require_once("dompdf/dompdf_config.inc.php"); 

$LgPath=$_POST['image']; 
header("Content-Transfer-Encoding: binary"); 
header("Content-Type: image/png"); 
//header("Content-Disposition: attachment; filename=image.png"); 

$html = file_get_contents($LgPath); 
//$html = readfile($LgPath); --only shows the image 

$dompdf = new DOMPDF(); 
$dompdf->load_html($html); 
$dompdf->render(); 
$dompdf->stream("sample.pdf"); 
?> 

我把成功地使用HTML2CANVAS一些元素的打印屏幕,然後我用它傳遞給save.php頁$ POST。我希望使用DOMPDF將該圖像放入sample.pdf中。使用這個代碼我只在sample.pdf「‰PNG」中有這樣的文本,我不知道如何解決它。使用readfile我看到圖像,但就是這樣...任何建議?謝謝。

回答

1

您正在將圖像讀入變量並將其傳遞給dompdf。正如這種dompdf將那些構成該圖像的文本視爲HTML源代碼。由於圖像是從存儲在$LgPath位置的PHP腳本讀取你應該能夠做這樣的事情:

<?php 
require_once("dompdf/dompdf_config.inc.php"); 
$LgPath=$_POST['image']; 
$html = '<img src="' . $LgPath . '">'; 
$dompdf = new DOMPDF(); 
$dompdf->load_html($html); 
$dompdf->render(); 
$dompdf->stream("sample.pdf"); 
?> 
+0

在此期間,我一直在用,我的形象寫到服務器的其他變體,和從那裏傳遞給dompdf。但我更喜歡你的變體。感謝您的簡單解決方案,這似乎避免了我... p.s.現在我只需要弄清爲什麼當我嘗試從sample.pdf打印時,圖像不在頁面的頂部,而是在頁面的垂直中間:) – Leon

+1

這是一個奇怪的問題。如果圖像在屏幕上顯示正確,則可能是您的打印設置。看看PDF渲染如何設置爲「適合」頁面。如果這不是一個新問題,可能是爲了。 – BrianS

+0

是的,圖像適合頁面,並正在下降..似乎如果我使用傳遞到手動頁面尺寸的圖像的相同比例,然後圖像位置在頂部。即使尺寸低於A4規格,我也會這樣做,但質量差異在肉眼或打印時不可見。再次感謝您的回答。 – Leon