2 / 1 / 2
Регистрация: 29.04.2017
Сообщений: 56
1

PhpWord: в чём ошибка при работе с шаблоном?

28.08.2018, 10:33. Показов 2076. Ответов 1
Метки word (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно создавать документы по шаблону. Если создавать документ на пустом месте, всё проходит нормально, но тут не происходит ни сохранения файла, ни, судя по var_dump, замены по меткам. Где у меня ошибка?
PHP
1
2
3
4
5
6
7
8
require_once 'vendor/autoload.php';
$phpWord = new \PhpOffice\PhpWord\PhpWord(); // Подключение PhpWord
$document = $phpWord->loadTemplate('templates\test.docx'); // Загрузка шаблона
$document->setValue('heading', 'Артём'); // Замена меток на значения
$document->setValue('text1', 'солнце');
$document->setValue('text2', 'небо');
var_dump($document);
$document->save('documents\result.docx'); // Сохранение документа
Данные из var_dump:

object(PhpOffice\PhpWord\TemplateProcessor)#13 (5) { ["zipClass":protected]=> object(PhpOffice\PhpWord\Shared\ZipArchive)#14 (5) { ["numFiles"]=> int(14) ["filename"]=> string(50) "C:\Users\Артем\AppData\Local\Temp\Php9AF8.tmp" ["tempDir":"PhpOffice\PhpWord\Shared\ZipArchive":private]=> NULL ["zip":"PhpOffice\PhpWord\Shared\ZipArchive":private]=> object(ZipArchive)#15 (5) { ["status"]=> int(9) ["statusSys"]=> int(0) ["numFiles"]=> int(14) ["filename"]=> string(50) "C:\Users\Артем\AppData\Local\Temp\Php9AF8.tmp" ["comment"]=> string(0) "" } ["usePclzip":"PhpOffice\PhpWord\Shared\ZipArchive":private]=> bool(false) } ["tempDocumentFilename":protected]=> string(50) "C:\Users\Артем\AppData\Local\Temp\Php9AF8.tmp" ["tempDocumentMainPart":protected]=> string(2665) " Меня зовут &{heading}!Пусть всегда будет &{text1}!Пусть всегда будет &{text2}!" ["tempDocumentHeaders":protected]=> array(0) { } ["tempDocumentFooters":protected]=> array(0) { } }
0
Лучшие ответы (1)
28.08.2018, 10:33
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.08.2018, 10:33
Ответы с готовыми решениями:

В чем ошибка при работе с Firebird?
Здравствуйте. В баттоне код: Form1->IBQuery1->SQL->Clear(); Form1->IBQuery1->SQL->Add("SELECT * FROM TABLENAME"); ...

Ссылка на неразрешенную лексему при работе с шаблоном
Никак не могу понять с чем связанна эта ошибка error LNK2028: ссылка на неразрешенную лексему (0A0003B6) "void __cdecl...

В чем моя ошибка при работе с массивом?
Написал код для заполнения выпадающего списка Combobox.ПРивожу код model=data; ...

1
Скрытый в тени
24 / 16 / 6
Регистрация: 07.01.2016
Сообщений: 71
28.08.2018, 11:37 2
Лучший ответ Сообщение было отмечено Aricus как решение

Решение

Судя по выводу var_dump, вы ставите метки в документ так &{heading}. Надо так: ${heading}

А сохранять так попробуйте
PHP
1
$document->saveAs('documents\result.docx');
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.08.2018, 11:37
Помогаю со студенческими работами здесь

Аппаратная ошибка видео (Ошибка при работе с видеоустройствами привела к некорректной работе Windows).
Аппаратная ошибка видео. Последнее время во время игры Call of Duty: Modern Warfare 2 в мультиплеер, (между сменами карт, как только...

Чем заменить таймер при работе с видеопотоками с камер
Добрый день! Пишу программу для работы с несколькими потоками видео (пользуюсь AForge.NET) и столкнулся с проблемой работы таймера. На...

Чем забивается оперативная память при длительной работе ?
В последнее время стал замечать, что сумма используемой памяти в списке всех процессов не соответствует действительности. С вечера всё...

PhpWord ошибка setValue
есть php код <?php if (isset($_POST)) { require_once '../../PHPWord/PHPWord.php'; $PHPWord = new PHPWord(); ...

В чем разница между классом и шаблоном класса?
Помогите ответить. В чем разница между классом и шаблоном класса?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Linux API: Полное руководство
hw_wired 08.02.2025
Linux API – это низкоуровневый программный интерфейс, обеспечивающий взаимодействие пользовательских приложений с ядром операционной системы. Он включает набор системных вызовов, библиотечных функций. . .
Асинхронное программировани­­­­­е и эмуляция async/await в C (СИ)
hw_wired 08.02.2025
Язык программирования C, несмотря на свой возраст, предоставляет неплохие средства для реализации асинхронных операций, позволяя создавать эффективные решения для обработки параллельных задач. В. . .
Как сгенерировать случайное число в указанном диапазоне в JavaScript
bytestream 08.02.2025
В JavaScript генерация случайных чисел основана на детерминированном алгоритме, который создает последовательность псевдослучайных значений. Встроенный метод Math. random() возвращает псевдослучайное. . .
Как получить список всех таблиц в PostgreSQL
bytestream 08.02.2025
PostgreSQL предлагает несколько методов для получения списка таблиц в базе данных. Наиболее распространенный способ - использование системного каталога pg_tables, который содержит информацию обо всех. . .
Java Spring для начинающих
bytestream 08.02.2025
Spring Framework - это универсальное решение для создания корпоративных Java-приложений. Он предоставляет комплексную программную и конфигурационную модель для современных приложений на Java. Spring. . .
Асинхронное программировани­­­­­­е и async/await в Visual Basic
bytestream 08.02.2025
В основе асинхронного программирования в Visual Basic лежит концепция неблокирующего выполнения операций. Когда программа встречает длительную операцию, например, чтение большого файла или запрос к. . .
Async/await и асинхронное программировани­­е в Delphi
bytestream 08.02.2025
Асинхронное программирование является неотъемлемой частью разработки современных приложений, позволяя создавать отзывчивые и эффективные программы. В Delphi реализация асинхронности опирается на. . .
Асинхронное программировани­­­­­е и async/await в C#
bytestream 08.02.2025
Асинхронное программирование - концепция, позволяющая приложениям эффективно выполнять длительные операции без блокировки основного потока выполнения. В контексте современной разработки на C# это. . .
Асинхронное программировани­­­­­е и горутины/каналы в Go
bytestream 08.02.2025
Язык Go изначально разрабатывался с учетом современных многоядерных процессоров и необходимости эффективного параллельного выполнения задач. В отличие от традиционных подходов к асинхронному. . .
Как восстановить stash в Git
hw_wired 08.02.2025
Git stash - это средство для временного сохранения изменений в рабочей директории. В процессе разработки часто возникают ситуации, когда нужно быстро переключиться на другую задачу, но текущие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru