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 :: Печать документа из данных HTML формы

 PHP.SU

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


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

> Описание: нужна помощь
Atrox
Отправлено: 17 Мая, 2011 - 10:40:57
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2011  


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




Исходные данные : сайт ВУЗа, написанный на php. (FreBSD, Apache, MySQL, etc.)
Задача : Есть документ (формат doc) с заданным форматированием - заявление на приём в вуз, с кучей полей и данных. Необходимо посредством php (через html форму запросить данные пользователя) генерировать документ для последующей его печати и/или сохранения.
Вопрос(ы) : какой выбрать конечный формат? PDF / DOC / еще варианты ? что проще и быстрее ? никогда ничего подобного не делал...
 
 Top
Stierus Супермодератор
Отправлено: 17 Мая, 2011 - 10:45:16
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


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




pdf, на мой взгляд, предпочтительнее Улыбка . С doc работать - мазохизм, новый docX уже приемлемо, но может вызвать вопросы у пользователей, а pdf - и выглядит везде одинаково и открывается на всех платформах и генерируется относительно ровно и безболезненно.
 
My status
 Top
Zuldek
Отправлено: 17 Мая, 2011 - 10:46:05
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




Atrox пишет:
Исходные данные : сайт ВУЗа, написанный на php. (FreBSD, Apache, MySQL, etc.)
Задача : Есть документ (формат doc) с заданным форматированием - заявление на приём в вуз, с кучей полей и данных. Необходимо посредством php (через html форму запросить данные пользователя) генерировать документ для последующей его печати и/или сохранения.
Вопрос(ы) : какой выбрать конечный формат? PDF / DOC / еще варианты ? что проще и быстрее ? никогда ничего подобного не делал...

поясните по пунктам работу приложения, начиная от приёма данных от пользователя, что оно должно делать, чтобы не угадывали ваши цели. Сейчас мне не понятны логические связи с упомянутым неким документом "(формат doc) с заданным форматированием - заявление на приём в вуз, с кучей полей и данных", данными пользователя, которые надо запросить через форму, и " выбрать конечный формат? PDF / DOC /"

Если требуется из данных формы построить конечный документы PDF или DOC с форматированием, то рекомендую остановиться на PDF. Для нормальной работы с DOC и создания документов со сложным форматированием, придётся курить вот эту библиотеку — http://phpword.codeplex.com/

(Отредактировано автором: 17 Мая, 2011 - 10:48:57)

 
 Top
Atrox
Отправлено: 17 Мая, 2011 - 10:56:08
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2011  


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




Zuldek пишет:
требуется из данных формы построить конечный документы PDF или DOC с форматированием
именно так. извиняюсь, что некорректно выразился, на форуме впервые с вопросом. всё всегда самостоятельно решал Огорчение
Zuldek пишет:
не понятны логические связи с упомянутым неким документом
я имею ввиду, что итоговый документ уже имеется. и его внешний вид, форматирование то есть, менять нельзя. грубо говоря, это документ в который нужно вписать данные абитуриента. раньше делалось от руки, теперь захотели автоматизировать Не понял
 
 Top
Zuldek
Отправлено: 17 Мая, 2011 - 11:05:36
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




Atrox пишет:
Zuldek пишет:
требуется из данных формы построить конечный документы PDF или DOC с форматированием
именно так. извиняюсь, что некорректно выразился, на форуме впервые с вопросом. всё всегда самостоятельно решал Огорчение
Zuldek пишет:
не понятны логические связи с упомянутым неким документом
я имею ввиду, что итоговый документ уже имеется. и его внешний вид, форматирование то есть, менять нельзя. грубо говоря, это документ в который нужно вписать данные абитуриента. раньше делалось от руки, теперь захотели автоматизировать Не понял


Если документ в доке, тогда курить http://phpword[dot]codeplex[dot]com создавать аналогичное форматирование и выводить через неё данные формы в виде docx файлов.
 
 Top
Atrox
Отправлено: 17 Мая, 2011 - 11:14:50
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2011  


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




руководство прислало сам документ форматированный в формате docx. на выходе, имхо, нежелательно иметь docx, так как не у всех пользователей сервиса (абитуриентов) установлен ms office 2007 и выше. есть же еще масса редакторов типа Open Office, IBM Lotus и т.п. docx там конечно откроется, но форматирование поедет 100%. уже проверил. думаю, имеет место генерация PDF / RTF
 
 Top
Alex_pac
Отправлено: 17 Мая, 2011 - 11:29:54
Post Id



Новичок


Покинул форум
Сообщений всего: 41
Дата рег-ции: Май 2011  


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




В ворде выставляешь метки


Нажмите для увеличения


далее сохранить документ КАК HTML


Нажмите для увеличения


меняеш расширение у документа c *.HTML на *.DOC



Перед выводом документа на скачивание проводиш операции замены параметров через метки

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $file = "your/dir/document.doc";
  4. $cont = file_get_contents($file);
  5. $cont = str_replace(
  6.         array('PHPname','PHPfam','PHPotch'),
  7.         array('Ваше имя','Ваша фамилия','Ваше отчество'),$cont);
  8. header ("Content-Type: application/msword");
  9. header ("Accept-Ranges: bytes");
  10. header ("Content-Length: ".strlen($cont));
  11. header ("Content-Disposition: attachment; filename=".$file);  
  12. echo $cont;
  13.  


Преимущества такого подхода:

1)WORD распознает сохраненное форматирование в документа несмотря на то что документ сменил формат на HTML
То есть отступы и другая бюрократия сохраняется
2) WORD легко редактирует полученный таким образом документ, сохраняя его HTML разметку.

Недостатки

У пользователей OpenOffice документ не откроется.
 
 Top
Мелкий Супермодератор
Отправлено: 17 Мая, 2011 - 21:24:27
Post Id



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


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


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




+1 за PDF. С доками замучаетесь, они на разных версиях МС офиса и то плывут, бывает, а уж сгенерированный чем-то, кроме ворда, документ на основе реверс инжиниринга и неполных спецификаций - тем более поплывёт.


-----
PostgreSQL DBA
 
 Top
Atrox
Отправлено: 18 Мая, 2011 - 10:16:13
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2011  


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




Огромное всем спасибо за помощь! Разобрался с генерацией PDF из HTML кода: все оказалось предельно просто) использовал FPDF (сам он не умеет ковертить html в pdf, а только может создавать pdf документ с заданными параметрами) + класс html2pdf. Поддержка UTF-8 присутствует.

если кому пригодится вдруг, приведу ссылки:
FPDF - http://www[dot]fpdf[dot]org/ - манов и примеров масса, разобраться 15 минут.
HTML2PDF - http://www[dot]html2pdf[dot]fr/ (сайт французский по умолчанию, но английский там есть, как оказалось Не понял )
 
 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