Использование TCPDF в Cakephp

На эту тему есть много сообщений, но ссылки на какие-либо сайты больше не работают ... Я подписался на эту статью. Я скачал мастер TCPDF. Разархивировал его в папку Vendor / tcpdf Eddited xtcpdf.php

<?php
App::import('Vendor','tcpdf/tcpdf');

class XTCPDF extends TCPDF{

}

Отредактируйте config.php (это правильный путь? / ** * Путь установки (/ var / www / tcpdf /). * По умолчанию он рассчитывается автоматически, но вы также можете установить его как фиксированную строку для повышения производительности. * / define ('K_PATH_MAIN', '/ var / www / ppp / app / Vendor / tcpdf');

/**
 * URL path to tcpdf installation folder (http://localhost/tcpdf/).
 * By default it is automatically set but you can also set it as a fixed string to improve performances.
 */
define ('K_PATH_URL', 'http://localhost/ppp/Vendor/tcpdf');

Создать приложение / View / Layouts / pdf / default.ctp

    <?php

header("Content-type: application/pdf");

echo $content_for_layout;
?>

Затем в контроллере веб-страниц:

public function newpdf(){

    $users = $this->User->find('all');

    $this->set(compact('users'));

    $this->layout = '/pdf/default';

    $this->render()->type('application/pdf');

}

и в представлении / webcontroller

public function newpdf(){

    $users = $this->User->find('all');

    $this->set(compact('users'));

    $this->layout = '/pdf/default';

    $this->render()->type('application/pdf');

}

Когда я хочу проверить это, я получаю пустую страницу без чего-либо ...

  • Я сделал функцию на веб-страницах. Все в порядке? Или я должен сделать функцию где-нибудь еще?
  • Путь в конфигурационном файле, я работаю на локальном хосте на linux. Путь: /var/www/ppp/app/Vendor/tcpdf. Это правильный путь?
  • Установлен URL-адрес http://localhost/ppp/app/Vendor/tcpdf Это правильный URL-адрес? заранее спасибо

person Thea Haak    schedule 09.02.2017    source источник
comment
Пожалуйста, добавьте к вопросу соответствующий код, функцию, которую вы сделали, и так далее.   -  person Alfabravo    schedule 09.02.2017


Ответы (1)


прежде всего вы проверили, загружен ли tcpdf или нет

App::import('Vendor','tcpdf',array('file' => 'tcpdf/tcpdf.php'));

затем по пути, куда вы хотите поместить pdf. Это должен быть реальный путь

$path=realpath('../webroot/pdf/') . '/';

затем инициализируйте tcpdf

$pdf= new tcpdf();

затем установите желаемые параметры файла

$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Your Name');
$pdf->SetTitle(title);
$pdf->SetSubject('TCPDF');
$pdf->SetKeywords(keywords);
// add a page
$pdf->AddPage();

затем получите html, который вы хотите преобразовать в pdf

$html= $this->render('/Elements/Pdf');

напишите html в pdf

$pdf->writeHTML($html, true, false, true, false, '');

затем выведите его

$name='pdf.pdf';
$pdf->Output($path.$name, 'F');

Сообщите мне, если по-прежнему будут возникать проблемы.

person Ashwani    schedule 17.02.2017
comment
На сайте также есть CakePDF, который тоже не работал. Вчера я решил это, а вместе с ним и среднюю проблему TCPDF. - person Thea Haak; 18.02.2017