Перейти к содержимому


Конвертация html в pdf до отправки sendmail


Сообщений в теме: 24

#21 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 05 Апрель 2017 - 15:31

Затык с пониманием места размещения папки, чтобы туда поместить изображение. Пять строк кода такая проблема?

#22 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Апрель 2017 - 16:47

Папка cache в корне программы лежит. Так понятнее?

Если вам нужен пример кода, то хотя бы для начала скажите где находится оригинал изображения. В таблице КБ или где то в ином месте?

#23 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 07 Апрель 2017 - 18:20

Оригинал изображения находится в базе (изображение печати и подписи директора).

#24 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 09 Апрель 2017 - 18:39

Реально файлы из таблиц лежат не в базе, а в папке files, и чтобы их оттуда получить, используется функция get_file_path. Соответственно, зная исходный путь, можно скопировать файл в папку cache.

#25 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 13 Апрель 2017 - 10:28

Нашел ошибку. Она была в строчке
$attach_files=$file;
правильное написание
$attach_files[]=$file;

Итого работающий код при сформированном в виде HTML документе для отправки:

$nom - номер документа
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->list_indent_first_level = 0;
$mpdf->WriteHTML($html, 2); // $html - переменная, в которую сохраняется HTML код документа, формируемый php
$n_f="Счет № ".$nom.".pdf";
$adr_otpr=mf_user_mail($uID); // Адрес текущего менеджера (собственная функция)
$mail_adres=mf_par_kli($kli,5); // Адрес получателя (собственная функция)

$postHTML=$mpdf->Output($n_f, 'S'); 
$file="";
$file['name'] = $n_f;
$file['disp'] = "attachment";
$file['type'] = "application/pdf";
$file['content'] = $postHTML; // В 
$attach_files[]=$file;

$subject="Счет № ".$nom." от ".$data." на ".$summ_it." рублей";
$message="Счет в формате pdf находится во вложении";
$out=sendmail($subject,$message,$mail_adres,$adr_otpr,"ОТПРАВИТЕЛЬ",$adr_otpr,"text/html","utf-8","",$attach_files,-1,1,0,0); // ОТПРАВИТЕЛЬ нужно заменить на свое имя, разрешенное провайдером INTIS, если отправка через него

Пользуйтесь на здоровье!

Сообщение отредактировал Александр Пономарев: 13 Апрель 2017 - 10:29






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных