2015-02-24 5 views
1

Есть ли у кого-нибудь это? Есть ли способ избежать использования библиотек? Я попытался это, но я думаю, что это нуждается в каком-то библиотекахЭкспортировать содержимое таблицы MySql в PDF с помощью php

Это мой контроллер PHP:

if ($this->_request->isPost() && $is_pdf) { 

     $file3 = 'file.pdf'; 
     $pdf = pdf_new(); 
     pdf_open_file($pdf, "php://output"); 
     pdf_begin_page($pdf, 595, 842); 
     $arial = pdf_findfont($pdf, "Arial", "host", 1); pdf_setfont($pdf, $arial, 10); 
     $data = $model->fetchAll(); 


     foreach ($data as $fields) { 


      fputcsv($pdf, $fields->toArray()); 
     } 
     pdf_end_page($pdf); 
     pdf_close($pdf); 

     if ($file3 !== false) { 

      header('Content-type: application/pdf'); 
      header('Content-Disposition: attachment; filename="' . $file3 . '"'); 
      exit; 
     } 
    } 

И мой HTML форма с кнопкой и скрытым вводом:

<form method="post"> 
      <input type="hidden" name="table" value="<?php echo $this->table ?>" /> 
      <button type="submit" class="btn" name="csv" value="csv"><?php echo Core_Locale::translate('CSV')?></button> 
      <button type="submit" class="btn" name="xls" value="xls"><?php echo Core_Locale::translate('Excel')?></button> 
      <button type="submit" class="btn" name="pdf" value="pdf"><?php echo Core_Locale::translate('PDF')?></button> 
     </form> 

ответ

1

Ваш код кажется для использования библиотеки PECL pdflib. Это необходимо установить/включить в вашем php.

Если я не ошибаюсь, она поддерживается, так как PHP 5.3.0

Чтобы проверить, если вы установили вы можете создать PHP-файл со следующим кодом <?php phpinfo(); ?> и найти для ссылок на PDFlib.

Вы могли бы посмотреть в ссылке ниже: PDF

Edit:

Насколько я знаю, вы не можете создать PDF-файл без Librarys/с ядра PHP.

Надеюсь, это поможет вам.

+0

Я знал это, но могу ли я сделать что-то подобное без каких-либо внешних библиотек? –

+0

Насколько я знаю, вы не можете этого сделать. – lmarcelocc

+0

Возможно, Zend framework 1.12 может это сделать? –

Смежные вопросы