За последние 24 часа нас посетили 116417 программистов и 3439 роботов. Сейчас ищут 2054 программиста ...

Шаблон Word документа

Тема в разделе "PHP для новичков", создана пользователем mailmoney, 18 апр 2011.

  1. mailmoney

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

    С нами с:
    31 мар 2011
    Сообщения:
    18
    Симпатии:
    0
    Здравствуйте.
    Есть документ WORD - готовый шаблон по стандарту нужному организации.
    Как преобразовать его, чтобы можно было подставить значения из PHP.

    Вот болеее или менее нашел формат xml - но почему то у меня редактор n++ подвисает минуты на 2-3 после открытия такого документа.

    Может есть более универсальное решение? html - экспорт не подходит. Нужно именно чтобы скрипт генерировал документ который будет открываться в ms word 2003/2007
     
  2. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    можете сделать в rtf. так проще. а какого размера у вас xml, что notepad++ подвисает?
     
  3. mailmoney

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

    С нами с:
    31 мар 2011
    Сообщения:
    18
    Симпатии:
    0
    164кб, в блокноте стандартном без подвисаний, вот и думаю может че ни так. уже пробовал переутановить n++.
    А как работать с RTF? Там хрень какая-та, в конце документа вообще
    Код (Text):
    1. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    2. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    3. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    4. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    5. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    6. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    7. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    8. fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    9. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    10. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    11. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    12. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    13. ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    14. fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    15. fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    16. ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000
    17. 000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd15
    18. 8be0f0000000000000000000000008050
    19. 5c60c4f9cb01feffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000
    20.  
    21. 00000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000
    22. 0000000000000000000000000000000000000000000000
    23. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    24. 00000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000
    25. 0000000000000000000000000000000000000000000000000
    26. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    27. 000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffff
    28. ffff000000000000000000000000000000000000000000000000
    29. 0000000000000000000000000000000000000000000000000105000000000000}}
    В xml-хоть символы те которые в документе, а тут видимо надо соответсвие какое то делать.

    А еще скажите, как преобразовать однострочный материал XML-например, в тэговый. ну т.е. читабельный для человека.
     
  4. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    что-то явно не так. вот попробовал 3.5 мегабайта открыть - быстро.
    для начала можно попробовать почить про него. вообще можно и сразу в ворде попытаться. но опять же надо читать про это(
     
  5. mailmoney

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

    С нами с:
    31 мар 2011
    Сообщения:
    18
    Симпатии:
    0
    Ну я и спрашиваю как примрено.
    Думаю это же не первый случай. Мне читать документ не нужно, мне нужно вставить свои символы в определенные поля документа. Был бы это html - то все просто..
    XML-тоже думаю не сложно, вставить спец, символы в полях и заменять их в php.
    Может есть что-то готовое?
     
  6. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.785
    Симпатии:
    2
    Адрес:
    Ташкент
    mailmoney
    делаешь шаблон в виде rtf файла; в необходимых местах делаешь плейсхолдеры, типа такого ###ADDRESS###.
    затем тупо бегаешь str_replace и заменяешь плейсхолдеры нужным текстом. с doc-ом вроде так же.
    А вот docx нужно вначале распаковывать с помощью зип архиватора, ползать по xml-кам внутри, искать плейсхолдеры, заменять, а затем обратно запаковывать. Хотя есть готовые библиотеки для работы с doc/docx файлами.