За последние 24 часа нас посетили 64153 программиста и 1752 робота. Сейчас ищут 2313 программистов ...

PHP как из MySQL записать данные в поля формы шаблона MSWord

Тема в разделе "PHP для новичков", создана пользователем Andrey19, 29 фев 2008.

  1. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    в общем надо из MySQL взять данные и напечатать их (кратко печать квитков, платёжек).

    Создан в MSWord шаблон, в котором в форме есть соответствующие поля, как мне:
    1. этот шаблон открыть
    2. В соответствующие поля формы записать значения полей из MySQL посредством PHP
    3. Отправит на печать
    4. Корректно закрыть ворд.

    Интересует п. 2-4
     
  2. dAllonE

    dAllonE Guest

    "Cкажи мне что ты курил, и я скажу кто ты" (С) Какое-то кино.

    Эти пункты не реализуемы через PHP.
    Можно сформировать Web бланк и отправить его на печать через JavaScript.
    Можно сформировать Word файл и отдать его пользователю.

    Открыть/Закрыть Ворд => о_О
     
  3. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    почему просто писать MSWord я могу а в конкретное поле формы нет?

    Можно сформировать Web бланк и отправить его на печать через JavaScript.
    Можно сформировать Word файл и отдать его пользователю.

    Смогу ли я в этом случае задать размеры таблицы и т.д.

    Зачем мне программно прописывать если один раз могу составить шаблон, и заполнить только поля. Для изменения форматирования код переписывать не надо, только измени шаблон.
     
  4. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Попробуй картинкой.... Просто подставь куда что надо... Посмотри как счетчики делаются... и сделай так же :)
     
  5. dAllonE

    dAllonE Guest

    Andrey19

    Я имел в виду не реализуемы на PHP действия
    3. Отправит на печать
    4. Корректно закрыть ворд.
     
  6. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    всё таки как
    2. В соответствующие поля формы записать значения полей из MySQL посредством PHP

    3. Отправит на печать
    странно а сохранить документ ворд можно, дать команду на печать нет?

    Подробнее плиз, я ж начинающий
     
  7. Anonymous

    Anonymous Guest

    PHP:
    1. <?php
    2. // starting word
    3. $word = new COM("word.application") or die("Unable to instantiate Word");
    4. echo "Loaded Word, version {$word->Version}\n";
    5.  
    6. //bring it to front
    7. $word->Visible = 1;
    8.  
    9. //open an empty document
    10. $word->Documents->Add();
    11.  
    12. //do some weird stuff
    13. $word->Selection->TypeText("This is a test...");
    14. $word->Documents[1]->SaveAs("Useless test.doc");
    15.  
    16. //closing word
    17. $word->Quit();
    18.  
    19. //free the object
    20. $word = null;
    21. ?>
     
  8. dAllonE

    dAllonE Guest

    Andrey19, PHP выполняется на сервере. Печать осуществляется на клиенте! Вы можете через php выдать JS который распечатает содержимое страницы, которая в браузере. Сохранить ворд на компьютере клиента Вы не можете, Вы можете выдать пользователю файл, и он его сохранит, или не сохранит. Открывать файлы с компьютера пользователя вы не можете.

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

    По поводу создания файла можно почитать тут:
    http://php.com.ua/ru/articles/bicycles/php_com_word.htm
     
  9. dAllonE

    dAllonE Guest

    Горбунов Олег, что-то у меня с головой сегодня не то, мне показалось, что нужно открыть Word на компьютере пользователя... :)
     
  10. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    Не это я туплю, задача просто была так поставлена (шаблон ворда был), а я PHP MySQL никогда не занимался, вот и ринулся попытаться сделать предварительно не подумав.
    Сам не представляю как можно созадть платёжку задав размеры таблицы и размещение данных средствами РНР а потом отправить на текущий принтер пользователя (а по нормально надо ещё предоставить ему возможность выбора принтера)
     
  11. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    Этот примерчик я пробовал, но он почемуто не всегда корректно закрывает ворд (в процессах остаётся висеть)
     
  12. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Я тоже... логика... печатаете в ворде все что надо... далее делаете скрин, вырезаете лишнее... функциями php вставляете в картинку нужные Вам данные и печатаете...
    Правда как реализовать - не знаю.. сам пытался, не получилось :(
     
  13. dAllonE

    dAllonE Guest

    Nemo, Я вижу (с использованием PHP) 2 более простых варианта:

    1. Просто Использовать HTML + CSS для создания шаблона. JS (print() ) для предложения вывести на печать.
    2. Убиться об стену.
     
  14. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Понимаешь... при такой печати остаются на странице выходные данные... типа адреса страницы и т.д... А это ОЧЕНЬ не желательно... особенно когда печатаешь паспорта пользователей (ипы, шлюзы и прочее)
     
  15. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    Даа дела.
    Nemo
    Картинку на матричнике печатать я думаю не очень хорошо будет.

    а всётаки как сделать печать в этом случаи.
     
  16. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
     
  17. Anonymous

    Anonymous Guest

    Генерировать пдф или сходные. отдавать пользователю скриптом, пусть печатает где хочет
     
  18. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    HTML - отличный, а с CSS - почти идеальный язык для разметки текста. С его помощью ты можешь задать размер таблицы хоть в пикселах, а с помощью CSS - и в сантиметрах! ИМХО в этом случае можно обойтись генерированием html-странички.
    Генерируйте HTML, сохраняйте как .doc, отдавайте пользователю - откроется отлично :)
     
  19. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    а что бы из браузера распечатать??? Типа нажал печать и готово... Без лишних монипуляций....
     
  20. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    так я и спрашиваю как это сделать?
    Я прочитал пример в хелпе как писать в ворд (он у меня открывает шаблон, может в его записать и даже сохранить) но как записать в конкретное поле формы нужную инфу
     
  21. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Просто HTML-файл сохраняйте как .doc :)