|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
Есть код, который работает с данными. По итогу его работы, нужно массив данных передать в документ .doc, вставив в определенные пустые поля. Как лучше подойти к решению вопроса? Создать пустой файл и пытаться в него с нуля записать и сами данные, и текст их окружающий (структура у текста сложная, это заявление)? Или есть какие-то специальные утилиты и команды, которые можно применить в этой ситуации? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2018, 13:32 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
Более-менее честных путей, в общем-то, два. 1. Найти библиотеку, которая умеет делать желаемое. Желательно, без глюков. Однако, MS-вордовский .doc есть формат закрытый, потому, тут не слишком гладко. 2. Использовать нативный MS Word, взаимодействуя с ним через COM . ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2018, 19:07 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
vkle1. Найти библиотеку, которая умеет делать желаемое. Желательно, без глюков. Однако, MS-вордовский .doc есть формат закрытый, потому, тут не слишком гладко. под Linux я так и не нашел vkle2. Использовать нативный MS Word, взаимодействуя с ним через COM . Согласен, только при условии, что хост windows, не самый лучший способ на мой взгляд. Тоже была такая задача, имею интерес. Есть лучшее native решение, это не doc, а rtf: 1. в rtf создадите шаблон такой же как и doc 2. шаблон прогнать через php class ekrtf (портированный ekrtf для delphi). При обработке шаблона работа ведется как с бинарником. 3. На выходе готовый отчет по шаблону. Проблема в том, что нет порта ekrtf, я начинал, но так и не доделал. Обошелся созданием delphi intraweb с данным компонентом, который дергал curl-ом с параметрами из под linux хоста. Если у ТС серьезный интерес, то у меня есть source delphi ekrtf, могу дать для портирования на php, естественно с обещанием выложить потом класс для всех. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 09:08 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
bulaolen, а нельзя поменять формат doc? Библиотека PHPWord работает с docx, rtf... Ну или вот такое решение ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 10:25 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
vkle, А что если, выводить не в .doc а .docx? или вообще в .xls/.xlsx? Это как-то облегчит решение проблемы или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 10:34 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
bulaolen, Форматы .docx и .xlsx достаточно открытые. Если коротко, это зип-архивы, куда понапихали xml-файлов. Внести правки в текстовые файлы (а xml по сути есть текст) и запаковать их в архив - для этого хватает собственных средств php по большому то счету. Как-то делал аналогичное. Места в тексте, куда надо подкинуть данные, обозначил специальными кодами (что-то вроде "%FIELD123%"), распаковал сохраненный архив документ в директорию. Получился шаблон. В скрипте копирование директории с шаблоном, правка, упаковка, уборка мусора. Можно и проще, наверно. Для .xls/.xlsx есть вполне удобоваримая, хотя и местами тормозная библиотека PHPExcel. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 10:52 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
bulaolen, Вдогонку. Не знаю, работает ли с современным МС Офисом (не проверял), но во времена 2002 пользовались некоторым обманом. Формировали HTML-файл и сохраняли с расширением .xls - его его ексель вполне переваривал. Конечно, только для простейших вещей годилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 10:56 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
Да! Можно делать вывод в .docx, это тоже подойдет потому что шаблон пойдет на печать! Насчет .xlsx не уверен, придется помучиться с версткой документа. web-страница находится на сервере Ubuntu, связь организована через консоль putty. Пробовал через PHPWord, но не получилось и примеров в сети не так много, подходящих под ситуацию еще меньше! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 11:56 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
vkleДля .xls/.xlsx есть вполне удобоваримая, хотя и местами тормозная библиотека PHPExcel.PHPExcel уже заменили на PhpSpreadsheet . Активно юзаю с апреля, работает быстро. bulaolen, 21703895 ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 12:01 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
SQLPowerUserPHPExcel уже заменили на PhpSpreadsheet Ничего себе, уж три года как! Так вот "часто" его использую ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 12:15 |
|
Вывод данных в шаблон DOC с помощью PHP
|
|||
---|---|---|---|
#18+
vkle, Добрый вечер! Как можно устранить выдает ошибку, спасибо! Fatal error: Call to a member function loadTemplate() on a non-object in W:\domains\test.com\word.php on line 7 Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 16:21 |
|
|
start [/forum/topic.php?fid=23&msg=39717394&tid=1460061]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 329ms |
total: | 480ms |
0 / 0 |