Как редактировать текстовые документы с помощью php?

У меня есть существующий текстовый документ на моем компьютере, и я хотел бы редактировать этот файл с моего веб-сайта (используя PHP). Мне удалось найти PHPWORD, но это относится только к новым документам. Я не хочу кодировать PHP для всего документа, вместо этого я хочу использовать его для разных вещей.

Кто-нибудь знает какой-нибудь выход?


person Adarsh    schedule 24.01.2016    source источник
comment
PHPWord работает не только с новыми документами... он предоставляет как средства чтения, так и средства записи, что означает, что его можно использовать для редактирования документов.   -  person Mark Baker    schedule 24.01.2016


Ответы (3)


https://github.com/PHPOffice/PHPWord

В PHPWord также есть программа для чтения, которую можно использовать для редактирования существующих документов.

person mazedlx    schedule 24.01.2016
comment
Хорошо, я понял, но теперь я хочу знать, как создать раздел в определенном месте? В моем документе так много разделов, у них тоже есть заголовки. Есть ли способ найти определенный заголовок и создать раздел под ним? Другой способ сделать это - заменить эти разделы на $(value), а затем отредактировать документ, но я не знаю, сколько значений я получу, и $(values) может быть недостаточно или избыточно, что будет плохо смотреться в документе. Любые идеи? - person Adarsh; 27.01.2016
comment
@Adarsh ​​Удалось ли вам найти/заменить в документе? - person nssmart; 14.04.2018

@nssmart,

Да, отметьте раздел в документе Word с помощью переменной, например {value1}, а затем, если у вас загружен PHPWORD, вы можете заменить этот раздел с помощью кода

$PHPWord = new PHPWord();

$document = $PHPWord->loadTemplate(Doc location);

$document->setValue('value1', 'Description');

Это также можно использовать для заполнения данных в таблицах.

person Adarsh    schedule 15.04.2018
comment
Может ли кто-нибудь сказать мне, как это сделать в новом слове со странными меню? Я думал, что смогу Вставить -> Поле, а затем указать имя и значение поля. Но я просто не могу найти его в новом меню, а в том, что я нахожу, я не могу найти способ установить имя поля. - person Samuel Åslund; 13.02.2019

https://github.com/PHPOffice/PHPWord Я также решил эту проблему в phpword, используя следующий код

 if(!file_exists('file/word.docx')){
  $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('demo.docx');
  $templateProcessor->setValue('name', 'Akbarali');
  $templateProcessor->setValue('time','13.02.2021');
  $templateProcessor->setValue('month', 'January');
  $templateProcessor->setValue('state','Uzbekistan');
  $templateProcessor->saveAs('file/word.docx');
}

Это изменит слова в файле demo.docx. Затем новый файл сохраняется в папке с файлами word.docx. вы можете определить переменные в виде ${name} в демонстрационном текстовом файле. то есть ${имя}, ${время}, ${месяц} и ${состояние}

person Bekorchi Bekorchiyevich Bekaro    schedule 13.01.2021