Codeigniter - Как преобразовать HTML-страницу в изображение? - PullRequest
1 голос
/ 01 февраля 2012

У меня есть веб-страница, закодированная на codeigniter framework, в которой перечислены все доступные сертификаты. Затем я могу распечатать сертификат, щелкнув его имя или установив флажки, если пользователь хочет распечатать более 1 сертификата.

В настоящее время я просто просматриваю html сертификата, и пользователь должен был щелкнуть правой кнопкой мыши на своем браузере и нажать на печать. Что хорошо для 1 страницы сертификата.

Но когда у меня 2 или более сертификатов, сертификаты складываются не идеально. Насколько я знаю, я не могу установить html-страницу для печати формата A4.

У Codeigniter была библиотека манипуляций с изображениями. http://codeigniter.com/user_guide/libraries/image_lib.html

Но не смог найти то, что хотел.

Есть ли способ конвертировать эти html-страницы в изображения, которые я позже смогу распечатать? Или мне стоит попробовать другие библиотеки?

Ответы [ 2 ]

2 голосов
/ 01 февраля 2012

Я бы использовал DOMPDF для создания PDF документа. Вы можете сгенерировать их HTML как обычно, а затем использовать третий параметр функции просмотра представления, чтобы вернуть HTML для обработки PDF.

Как-то так в вашем контроллере;

    $this->load->helper('pdf');
    $html = $this->load->view('certificate_view', array(), TRUE);
    $attachment_location = $_SERVER["DOCUMENT_ROOT"] . '/certs/'.$title.'.pdf';
    pdf_create($html, $title, $stream=FALSE, $orientation='portrait');
    // send open/save pdf dialog to user
    header('Cache-Control: public'); // needed for i.e.
    header('Content-Type: application/pdf');
    header('Content-Disposition: attachment; filename="'.$title.'"');
    readfile($attachment_location);
    exit;

Библиотека DOMPDF Codeigniter здесь .

0 голосов
/ 01 июля 2013

Вы можете конвертировать html в изображение с помощью этого простого учебника . Он использует imagick и нет библиотеки gd.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...