За последние 24 часа нас посетили 22493 программиста и 1051 робот. Сейчас ищут 707 программистов ...

Помогите очень прошу

Тема в разделе "PHP для новичков", создана пользователем MNW, 20 мар 2023.

  1. MNW

    MNW Новичок

    С нами с:
    4 май 2022
    Сообщения:
    12
    Симпатии:
    0
    Здраствуйте, в общем такая проблема - Есть код который из html делает pdf но на html у меня текст по вверх картинки а в pdf нет
    Вот как выглядит если его просто открыть:
    [​IMG]
    А вот что происходит когда я делаю в PDF:
    [​IMG]

    Сам код:
    PHP:
    1. <?php
    2.  
    3. require_once("tcpdf_min/tcpdf.php");
    4.  
    5.  
    6. // Создаем новый PDF документ
    7. $pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
    8.  
    9.  
    10. // Устанавливаем шрифт
    11. $pdf->SetFont('dejavusans', '', 14, '', true);
    12. // Добавляем страницу
    13. $pdf->AddPage();
    14. // Устанавливаем текст
    15. $html = <<<EOD
    16. <html xmlns="http://www.w3.org/1999/xhtml">
    17. <head>
    18. <meta charset="utf-8"/>
    19. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    20. <style>
    21. .container {
    22.     position: relative;
    23.     font-family: Arial;
    24.     width: 550px;
    25. }
    26.  
    27. .text-block {
    28.     position: absolute;
    29.     bottom: 261px;
    30.     color: black;
    31.     padding-left: 20px;
    32.     padding-right: 20px;
    33. }
    34. .img {
    35. width: 550px;
    36. }
    37. </style>
    38. </head>
    39. <body>
    40.  
    41. <div class="container" style="position: relative;font-family: Arial;width: 550px;">
    42.   <img src="2.png" class="img">
    43.   <div class="text-block">
    44. ТЕСТ
    45.   </div>
    46. </div>
    47.  
    48. </body>
    49. </html>
    50. EOD;
    51. // Выводим текст с помощью writeHTMLCell()
    52. $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
    53. // Закрываем и выводим PDF документ
    54. $pdf->Output('document.pdf', 'I');
    55. ?>
    Помогите решить данную проблему и так же не понятно почему черная полоска сверху
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    Попробуйте картинку прописать блоку в качестве background-image, а не тегом img
    и поменьше всяких position relative, absolute и fixed

    По хорошему, нужно изучить документацию инструмента, которым конвертируете.
    А если документации нет, то лучше взять другой инструмент, у которого документация есть.
    --- Добавлено ---
    Для справки, на всякий случай: pdf можно просто сгенерировать этой библиотекой или другой.
    Есть библиотеки как для php так и для js.
    Если нет необходимости именно конвертировать pdf из html, то я бы выбрал именно этот путь.
     
    #2 TeslaFeo, 20 мар 2023
    Последнее редактирование: 20 мар 2023
  3. MNW

    MNW Новичок

    С нами с:
    4 май 2022
    Сообщения:
    12
    Симпатии:
    0
    Увы нету столько опыта, мне нужно именно на php так как я хочу после сделать что бы этот файл уходил на почту, а картинку я делал как стиль и одно и тоже выходит