Преобразование HTML-таблицы в PNG и отображение ее на веб-странице

#php #html #image #png

#php #HTML #изображение #png

Вопрос:

У меня есть таблица html.Я хочу преобразовать эту таблицу html в png и хочу отобразить ее на веб-странице с помощью PHP.

 <table>
   <tbody>
      <tr>
         <td>Day</td>
         <td>Timing </td>
      </tr>
      <tr>
         <td>
            Sunday 
         </td>
         <td>8:30-6:30</td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Monday 
         </td>
         <td>8:30-6:30</td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Tuesday 
         </td>
         <td>8:30-6:30</td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Wednesday 
         </td>
         <td>8:30-6:30</td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Thursday 
         </td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Friday 
         </td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Saturday 
         </td>
         <td>8:30-6:30</td>
      </tr>
   </tbody>
</table>
  

В настоящее время этот код отображает html-таблицу в webapge. Я хочу показывать только PNG этой веб-страницы, чтобы на веб-странице было только изображение, а не таблица html.

Я пробовал этот код, но он показывает только желтоватый

  <?php

$out = "<table><tr><td>There will be data</td></tr></table>";
header('Content-type: image/png');
$png_image = imagecreate(50, 500);
$tcol = imagecolorallocate($png_image, 255, 255, 0);
imagestring($png_image, 4, 30, 25, $out, $tcol);
// echo $out;
imagepng($png_image);
imagedestroy($png_image);

 ?>
  

Комментарии:

1. что плохого в отображении HTML на веб-странице? в этом весь смысл HTML. Возможно, я что-то пропустил, но это кажется странным требованием.

2. В этом конкретном примере для этого может не быть веской причины, но могут быть случаи, когда это может быть полезно. Например. если вы не хотите, чтобы данные легко копировались, вставлялись и обрабатывались, или хотите показать динамическую таблицу вместо изображения в системе,и т.д.

Ответ №1:

Вы просто пытаетесь открыть этот файл напрямую? Или отобразить ее на веб-странице? Потому что тогда вы будете ссылаться на этот PHP-файл «как», это изображение с a <img src="table_image.php" /> на вашей веб-странице.

Кроме того, как в официальном примере (https://www.php.net/manual/en/function.imagecreate.php ), лучше всего включить некоторую обработку ошибок на случай, если у вас нет доступа к функции imagecreate на вашем сервере.

$png_image = @imagecreate(500, 300)
or die("Cannot Initialize new GD image stream");