Ошибка FPDF не допускает API диаграммы Google, так как нет расширения изображения - PullRequest
2 голосов
/ 06 января 2012
FPDF error: Image file has no extension and no type was specified:

Ошибка, которую я получаю, когда пытаюсь получить это:

<img src="https://chart.googleapis.com/chart?cht=qr&chs=150x150&chl=LG-80294959&choe=UTF-8">

В моем html этот FPDF будет конвертировать html2pdf.

Так как я могу это сделать? Мне действительно нужна эта QR-диаграмма внутри этого PDF.

1 Ответ

4 голосов
/ 09 января 2012

Потратив часы на эту проблему, я наконец понял это. Во-первых, как предлагали другие, мне НЕ нужно было добавлять & .png в конце моего URL. Ключ оказался пробелами в метках.

$chart_url = str_replace(" ","%20",$chart_url);

echo '< img src="'.$chart_url.'"/>'; (remove the space between < img)

Выше работал отлично.

Вот полный код по запросу. Я удалил верхний и нижний колонтитулы ...

<?
import('html2pdf.class');           
ob_start();
?>
<style type="text/css">

</style>
<page backtop="120px" backbottom="105px" backleft="10mm" backright="10mm" style="font-size: 10pt">
<bookmark title="Test" level="0" ></bookmark>
<img src="https://chart.googleapis.com/chart?cht=qr&chs=150x150&chl=VS-26258807&choe=UTF-8" /> 
</page>
<?
$html = ob_get_clean();     
// init HTML2PDF
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', array(0, 0, 0, 0));
// display the full page
$html2pdf->pdf->SetDisplayMode('fullpage');
// convert
$html2pdf->writeHTML($html);
// send the PDF
return $html2pdf->Output('shop_preview.pdf','true');
return $file;

Тогда я просто повторил '$ file'.

Вот класс fpdf, который я использую: http://html2pdf.fr/en/download

...