Имея серьезные проблемы с разумом, связанные с рендерингом PNG-файлов DOMPDF.DOMPDF PNG output - несколько PNG, отображающих только один PNG с неправильными цветами
Использование последней версии DOMPDF в соответствии с их страницей Github на сервере Windows IIS.
У меня есть два раза проблема:
- PNG изображение отображающая с черным фоном и белым передним планом, независимо от цвета изображений
- Если я использую несколько изображений PNG, все изображения на странице отображаются в виде первого изображения, раздавленный в различные соотношения размеров
Вот скриншот, чтобы объяснить:
Теперь, если я заменю один из изображений с файлом JPEG, это работает:
Если изменить первый PNG изображение, которое будет вынесено, оно показывает, как это:
HTML, что я использую выглядит следующим образом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>test</title>
<style type="text/css">
*{
color:'.$font.';
font-family:Helvetica, Arial, Serif;
}
.i{font-style: italic;}
.b{font-weight:bold;}
h1, h2, h3, h4, h5, h6{display:inline;}
h1{font-size:350%;}
h3{font-size:275%;}
h6{font-size:150%;}
span{font-size:125%;}
div{background-color:'.$bg.';}
</style>
</head>
<body>
<div align="center" style="margin-left:10px;margin-right:10px;padding:0px;">
<br />
<br />
<br />
<br />
<img src="img/banner/'.$type.'/top.png" />
<br />
<br />
<h1 class="b" style="color:'.$font.';">'.$type.' Certificate</h1>
<br />
<br />
<h3 class="i" style="color:'.$font.';">'.$name.'</h3>
<br />
<br />
<h6 style="color:'.$font.';">This certificate has been awarded to you for earning over '.$points.' points on the LEAP System.</h6>
<br />
<br />
<img src="img/barry.png" />
<br /><br />
<img src="img/badge.png" />
<br />
<h6 class="i">' . 'Date Awarded: '.date("d-m-Y").'</h6>
<br />
<br />
<span>Awarded by: '.$school.'</span>
<br />
<br />
<img src="img/banner/'.$type.'/bottom.png" />
<br />
<br />
<br />
<br />
</div>
</body>
</html>
И PHP код, который я использую для создания PDF выглядит следующим образом:
public function save($data, $size, $orientation, $name, $type){
$dompdf = new DOMPDF();
$dompdf->set_paper($size, $orientation);
$dompdf->load_html($data);
$dompdf->render();
$data = $dompdf->output();
$filename = 'data/'.$type.'/'.$name.' - '.date("d-m-Y").'.pdf';
return file_put_contents($filename, $data);
}
После сгенерировать сертификат, я получить следующий журнал в dompdf\lib\fonts\log.htm
:
52 7936.00 KB 1073.05 ms OFF
[__construct img/banner/Bronze/top.png][__construct img/barry.png][__construct img/badge.png][__construct img/banner/Bronze/bottom.png]get_min_max_width() auto auto;758.85850393701pt auto;773.85850393701pt auto;1010 121|757.5 90.75;get_min_max_width() auto auto;758.85850393701pt auto;773.85850393701pt auto;115 100|86.25 75;get_min_max_width() auto auto;758.85850393701pt auto;773.85850393701pt auto;187 60|140.25 45;[image:C:\Inetpub\wwwroot\frog\certificate_generator/img/banner/Bronze/top.png|1010|121|3]!!!png!!![addImagePng .png]
Warning: unlink(.png) [function.unlink]: No such file or directory in C:\Inetpub\wwwroot\frog\certificate_generator\dompdf\lib\class.pdf.php on line 4046
[image:C:\Inetpub\wwwroot\frog\certificate_generator/img/barry.png|115|100|3]!!!png!!!
Warning: unlink(.png) [function.unlink]: No such file or directory in C:\Inetpub\wwwroot\frog\certificate_generator\dompdf\lib\class.pdf.php on line 4046
[image:C:\Inetpub\wwwroot\frog\certificate_generator/img/badge.png|187|60|3]!!!png!!!
Warning: unlink(.png) [function.unlink]: No such file or directory in C:\Inetpub\wwwroot\frog\certificate_generator\dompdf\lib\class.pdf.php on line 4046
get_min_max_width() auto auto;758.85850393701pt auto;773.85850393701pt auto;1010 121|757.5 90.75;[image:C:\Inetpub\wwwroot\frog\certificate_generator/img/banner/Bronze/bottom.png|1010|121|3]!!!png!!!
Warning: unlink(.png) [function.unlink]: No such file or directory in C:\Inetpub\wwwroot\frog\certificate_generator\dompdf\lib\class.pdf.php on line 4046
кто-нибудь знает, что может быть причиной этих, казалось бы, странные проблемы?
Это странно. Похоже, одно из изображений анализируется для его альфа-канала, и это то, что помещается, хотя я не могу сказать, почему. Вероятно, это проблема пути, как видно из вызовов 'unlink()', есть некоторые неполные имена файлов. Эти ошибки, по-видимому, являются внутренними для dompdf/cpdf, но вы можете начать с проверки того, что HTML обрабатывается dompdf. Вызовите '$ dompdf-> output_html();' после загрузки HTML, чтобы узнать, что dompdf использует внутри. Вы также можете проверить страницу настройки на dompdf/www/setup.php, чтобы увидеть, есть ли какие-либо красные флаги. – BrianS