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

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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
ytrewq123
Отправлено: 11 Апреля, 2017 - 02:59:48
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Здравствуйте!
Такой вот вопрос.
Я хотел бы, создать ПДФ, скачать с сервера и любоваться скачанным файлом.
Делаю так.
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
Не могли бы подсказать что не так.
 
 Top
ytrewq123
Отправлено: 11 Апреля, 2017 - 19:57:55
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Понимаю, что вопросик не простой. Но разве никто что-то такое не делал никогда.
 
 Top
andrewkard
Отправлено: 11 Апреля, 2017 - 20:22:41
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Попробуйте может эту библиотеку: http://www[dot]fpdf[dot]org/
 
 Top
ytrewq123
Отправлено: 12 Апреля, 2017 - 20:21:30
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Спасибо, гляну.
 
 Top
Мелкий Супермодератор
Отправлено: 12 Апреля, 2017 - 20:38:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Поскольку сохранение в файл работает, а сохранение в stdout - выдаёт повреждённый документ - то логично предположить, что stdout чем-то немного сломан.
Рядовые проблемы - метка BOM, пробелы, переводы строк, предупреждения языка, срабатывающие только в коде для вывода.
Берётся копия stdout с одной стороны и корректно созданный файл с другой - и скармливаются 16-ричному редактору с последующим поиском разницы. Обычно в первых байтах проблема находится.


-----
PostgreSQL DBA
 
 Top
ytrewq123
Отправлено: 13 Апреля, 2017 - 10:53:42
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Большое вам спасибо. Будем рыть. Теперь хоть ясно куда.
 
 Top
ytrewq123
Отправлено: 13 Апреля, 2017 - 21:08:29
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Спасибо вам 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" );
Пока не получается решить проблему.
 
 Top
Мелкий Супермодератор
Отправлено: 13 Апреля, 2017 - 22:11:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




stdout - это стандартный вывод скрипта. В контексте запуска через веб - это весь результирующий документ и есть. Сам запускаемый скрипт значения не имеет. Соответственно, опция браузера "сохранить по ссылке..." - то что нужно. Либо любым другим http-клиентом сходить по урлу и сохранить результат (без http-заголовков) в файл. wget, curl, много их.


-----
PostgreSQL DBA
 
 Top
ytrewq123
Отправлено: 13 Апреля, 2017 - 22:20:55
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Спасибо, буду пробовать.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB