Intereting Posts
Отправить параметр на сервер из приложения Android Каким будет правильная служба для использования в клиентской библиотеке PHP для Google, чтобы получить базовую информацию, такую ​​как имя и адрес электронной почты? PHP + MySql + Хранимые процедуры, как мне получить доступ к «вне»? Zend_JSON: Кодировать беспорядок – почему? gii не работает в yii Yii и нокаут вместе? создание динамической вставки php в функцию mysql? Как решить маршрут, не определенный в laravel 5.3? Mysql Вставка или Обновление данных таблицы таблицы в другую таблицу с помощью соответствия valus Удалить элемент из массива, если он существует в массиве «запрещенных слов» Неустранимая ошибка: исключить исключение «PDOException» с сообщением «SQLSTATE : Дата преобразования php в datetime как совместить это слово с помощью regex (php) Множественные выпадающие значения, вставляемые в одну строку не в несколько строк Загрузка 100KB + zip-файлов дает внутреннюю ошибку сервера

Документы PDF или Word с Yii?

Привет, я создаю приложение с Yii, которое теперь будет генерировать отчеты. Мой клиент хочет редактировать отчеты после их создания. Я думаю, что лучшим вариантом является создание документа Word, поэтому мой клиент сможет его редактировать, но я не могу найти информацию или расширения для создания документов Word с помощью Yii Framework.

Я также видел, но не тестировал еще пару PDF-расширений, таких как DOMPDF, tcpdf и Zend_PDF. Но если я создаю отчет в формате PDF, то как мой клиент будет редактировать этот файл?

Ребятам мне нужны рекомендации о том, как решить это требование. Создать документы Word или PDF? Какой из них будет самым быстрым в разработке решения?

ОБНОВЛЕНИЕ 1: На данный момент я получил PDF-файлы. Вот как я это сделал: сначала я загрузил TCPdf со своего сайта и открыл его в Yii в качестве сторонней библиотеки . Затем:

Controller: protected/controllers/mycontroller.php public function actionGeneratePdf() { Yii::import('application.vendors.*'); require_once('tcpdf/tcpdf.php'); require_once('tcpdf/config/lang/eng.php'); $pdf = new TCPDF(); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('Nicola Asuni'); $pdf->SetTitle('TCPDF Example 001'); $pdf->SetSubject('TCPDF Tutorial'); $pdf->SetKeywords('TCPDF, PDF, example, test, guide'); $pdf->SetHeaderData('', 0, PDF_HEADER_TITLE, ''); $pdf->setHeaderFont(Array('helvetica', '', 8)); $pdf->setFooterFont(Array('helvetica', '', 6)); $pdf->SetMargins(15, 18, 15); $pdf->SetHeaderMargin(5); $pdf->SetFooterMargin(10); $pdf->SetAutoPageBreak(TRUE, 0); $pdf->SetFont('dejavusans', '', 7); $pdf->AddPage(); $pdf->writeHTML("<span>Hello World!</span>", true, false, true, false, ''); $pdf->LastPage(); $pdf->Output("example_002.pdf", "I"); } View: Wherever you want to place a trigger to your controller: echo CHtml::link('Generate PDF', array('mycontroller/generatePdf')); 

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

ОБНОВЛЕНИЕ 2: для генерации отчета документа Word это то, что я делаю .

Расширения доступны в Yii для создания PDF-документов. tcpdf ( http://www.yiiframework.com/extension/tcpdf/ ), например ..

Ознакомьтесь с этой статьей в общем обзоре вариантов, доступных для PDF и Excel http://www.yiiframework.com/wiki/74/

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

Напишите расширение в Yii для создания текстового документа (см. Эту ссылку, которая показывает, как это сделать в PHP / Linux – создать документ Word с помощью PHP в Linux )

Для создания словарного документа вы можете использовать библиотеку phpword И использовать, извлечь библиотеку в папку protected \ extensions \ PHPWord. В этой папке после выделения у вас будут папки: Примеры, PHPWord и один файл: PHPWord.php . В вашем контроллере / коде необходимо вызвать в этом примере:

  spl_autoload_unregister(array('YiiBase','autoload')); Yii::import('ext.phpword.phpword', true); $PHPWord = new PHPWord(); spl_autoload_register(array('YiiBase','autoload')); $document = $PHPWord->loadTemplate($path); $document->setValue('Value1', 'Sun'); .... $document->save('path\file.docx');