в общем надо из MySQL взять данные и напечатать их (кратко печать квитков, платёжек). Создан в MSWord шаблон, в котором в форме есть соответствующие поля, как мне: 1. этот шаблон открыть 2. В соответствующие поля формы записать значения полей из MySQL посредством PHP 3. Отправит на печать 4. Корректно закрыть ворд. Интересует п. 2-4
"Cкажи мне что ты курил, и я скажу кто ты" (С) Какое-то кино. Эти пункты не реализуемы через PHP. Можно сформировать Web бланк и отправить его на печать через JavaScript. Можно сформировать Word файл и отдать его пользователю. Открыть/Закрыть Ворд => о_О
почему просто писать MSWord я могу а в конкретное поле формы нет? Можно сформировать Web бланк и отправить его на печать через JavaScript. Можно сформировать Word файл и отдать его пользователю. Смогу ли я в этом случае задать размеры таблицы и т.д. Зачем мне программно прописывать если один раз могу составить шаблон, и заполнить только поля. Для изменения форматирования код переписывать не надо, только измени шаблон.
Попробуй картинкой.... Просто подставь куда что надо... Посмотри как счетчики делаются... и сделай так же
Andrey19 Я имел в виду не реализуемы на PHP действия 3. Отправит на печать 4. Корректно закрыть ворд.
всё таки как 2. В соответствующие поля формы записать значения полей из MySQL посредством PHP 3. Отправит на печать странно а сохранить документ ворд можно, дать команду на печать нет? Подробнее плиз, я ж начинающий
PHP: <?php // starting word $word = new COM("word.application") or die("Unable to instantiate Word"); echo "Loaded Word, version {$word->Version}\n"; //bring it to front $word->Visible = 1; //open an empty document $word->Documents->Add(); //do some weird stuff $word->Selection->TypeText("This is a test..."); $word->Documents[1]->SaveAs("Useless test.doc"); //closing word $word->Quit(); //free the object $word = null; ?>
Andrey19, PHP выполняется на сервере. Печать осуществляется на клиенте! Вы можете через php выдать JS который распечатает содержимое страницы, которая в браузере. Сохранить ворд на компьютере клиента Вы не можете, Вы можете выдать пользователю файл, и он его сохранит, или не сохранит. Открывать файлы с компьютера пользователя вы не можете. Иначе бы хакерские действия сводились к тому, что Вы открываете страницу, PHP сохраняет Вам на компьютер файл, а затем запускает его. По поводу создания файла можно почитать тут: http://php.com.ua/ru/articles/bicycles/php_com_word.htm
Горбунов Олег, что-то у меня с головой сегодня не то, мне показалось, что нужно открыть Word на компьютере пользователя...
Не это я туплю, задача просто была так поставлена (шаблон ворда был), а я PHP MySQL никогда не занимался, вот и ринулся попытаться сделать предварительно не подумав. Сам не представляю как можно созадть платёжку задав размеры таблицы и размещение данных средствами РНР а потом отправить на текущий принтер пользователя (а по нормально надо ещё предоставить ему возможность выбора принтера)
Этот примерчик я пробовал, но он почемуто не всегда корректно закрывает ворд (в процессах остаётся висеть)
Я тоже... логика... печатаете в ворде все что надо... далее делаете скрин, вырезаете лишнее... функциями php вставляете в картинку нужные Вам данные и печатаете... Правда как реализовать - не знаю.. сам пытался, не получилось
Nemo, Я вижу (с использованием PHP) 2 более простых варианта: 1. Просто Использовать HTML + CSS для создания шаблона. JS (print() ) для предложения вывести на печать. 2. Убиться об стену.
Понимаешь... при такой печати остаются на странице выходные данные... типа адреса страницы и т.д... А это ОЧЕНЬ не желательно... особенно когда печатаешь паспорта пользователей (ипы, шлюзы и прочее)
Даа дела. Nemo Картинку на матричнике печатать я думаю не очень хорошо будет. а всётаки как сделать печать в этом случаи.
HTML - отличный, а с CSS - почти идеальный язык для разметки текста. С его помощью ты можешь задать размер таблицы хоть в пикселах, а с помощью CSS - и в сантиметрах! ИМХО в этом случае можно обойтись генерированием html-странички. Генерируйте HTML, сохраняйте как .doc, отдавайте пользователю - откроется отлично
так я и спрашиваю как это сделать? Я прочитал пример в хелпе как писать в ворд (он у меня открывает шаблон, может в его записать и даже сохранить) но как записать в конкретное поле формы нужную инфу