Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Создание, скачивание, открытие PDF
Форумы портала PHP.SU » » Вопросы новичков » Создание, скачивание, открытие PDF

Страниц (1): [1]
 

1. ytrewq123 - 11 Апреля, 2017 - 02:59:48 - перейти к сообщению
Здравствуйте!
Такой вот вопрос.
Я хотел бы, создать ПДФ, скачать с сервера и любоваться скачанным файлом.
Делаю так.
PHP:
скопировать код в буфер обмена
  1.  
  2. $html = '<h4>KUKU</h4>';
  3.      
  4.         include("mpdf60/mpdf.php");
  5.            
  6.            $mpdf = new mPDF('utf-8');
  7.            $mpdf->charset_in = 'utf8';
  8.             $mpdf->list_indent_first_level = 0;
  9.             $mpdf->WriteHTML($html, 2);
  10.             $mpdf->Output('mpdf.pdf', 'I');


Так как стоит значение аргумента I. Создаёт файл и показывает. Всё впорядке все рады. Но если хочу скачать, пишет.
«формат файла не поддерживается или файл был поврежден pdf»
Ладно думаю. Поставил значение аргумента D. Качает но не открывает пишет. «Формат файла не поддерживается или файл был поврежден pdf»
Думал может какой метод нужен, но тут ничего не нашёл.
https://mpdf[dot]github[dot]io/reference[dot][dot][dot]ns/overview[dot]html
Не могли бы подсказать что не так.
2. ytrewq123 - 11 Апреля, 2017 - 19:57:55 - перейти к сообщению
Понимаю, что вопросик не простой. Но разве никто что-то такое не делал никогда.
3. andrewkard - 11 Апреля, 2017 - 20:22:41 - перейти к сообщению
Попробуйте может эту библиотеку: http://www[dot]fpdf[dot]org/
4. ytrewq123 - 12 Апреля, 2017 - 20:21:30 - перейти к сообщению
Спасибо, гляну.
5. Мелкий - 12 Апреля, 2017 - 20:38:29 - перейти к сообщению
Поскольку сохранение в файл работает, а сохранение в stdout - выдаёт повреждённый документ - то логично предположить, что stdout чем-то немного сломан.
Рядовые проблемы - метка BOM, пробелы, переводы строк, предупреждения языка, срабатывающие только в коде для вывода.
Берётся копия stdout с одной стороны и корректно созданный файл с другой - и скармливаются 16-ричному редактору с последующим поиском разницы. Обычно в первых байтах проблема находится.
6. ytrewq123 - 13 Апреля, 2017 - 10:53:42 - перейти к сообщению
Большое вам спасибо. Будем рыть. Теперь хоть ясно куда.
7. ytrewq123 - 13 Апреля, 2017 - 21:08:29 - перейти к сообщению
Спасибо вам andrewkard.
Попробовал, но тот же результат.
Но когда я жму на демо тут
http://www[dot]fpdf[dot]org/?lang=es
всё качает и открывает. Копирую к себе фигушки.
Мелкий.
Пробовал разобраться с stdout.
Вот тут нашёл.
https://abdussamad[dot]com/archives/[dot][dot][dot]r-using-PHP[dot]html
Взял этот код
$handle = fopen( 'php://stdout', 'w' ) ;
fwrite( $handle, "Hello World! \n" );
fclose( $handle );
Насколько я понимаю должна появится надпись но ничего нет.
А как я могу добыть эту копию stdout?
По поводу этого вообще говорит такой константы нету.
fwrite( STDOUT, "Hello World! \n" );
Пока не получается решить проблему.
8. Мелкий - 13 Апреля, 2017 - 22:11:28 - перейти к сообщению
stdout - это стандартный вывод скрипта. В контексте запуска через веб - это весь результирующий документ и есть. Сам запускаемый скрипт значения не имеет. Соответственно, опция браузера "сохранить по ссылке..." - то что нужно. Либо любым другим http-клиентом сходить по урлу и сохранить результат (без http-заголовков) в файл. wget, curl, много их.
9. ytrewq123 - 13 Апреля, 2017 - 22:20:55 - перейти к сообщению
Спасибо, буду пробовать.

 

Powered by ExBB FM 1.0 RC1