Phpword - quebrando a cabeça e perdendo cabelo

Estou na luta faz alguns dias…
A minha dificuldade é fazer funcionar essa biblioteca.

Eu preciso:

  • Abrir arquivo doc, docx. odt ( no servidor como modelo )
  • substituir alguns textos com variáveis e valores dos campos
  • gerar um novo arquivo

Fiz como nas instruções dentre vários exemplos na internet e também no forum, porém não dá certo, testei tanto no scriptcase ( via sc_include_library fazendo ref. as bibliotecas externas importadas ) como “por fora”, tentando reproduzir os exemplos demonstrados.

até o “include”, tanto pela macro do scriptcase como a original do php funciona, ou pelo menos, não apresenta nenhum erro.
ao executar, por exemplo,

$PHPWord = new \PhpOffice\PhpWord\PHPWord();

vão ocorrendo erros apresentando “falta” de arquivos referenciados…
então fiz todos os “includes” pedidos…
após isso os comandos:

$document = $PHPWord->loadtemplate(‘MODELO.doc’);
$document->setValue(’#nome_ass#’,‘TESTE’);
$document->save(‘novodoc.doc’);

*** MODELO.DOC está na pasta correta.

qdo mais não houve nenhum erro de chamada os seguintes erros:

Atenção ZipArchive::locateName(): Invalid or uninitialized Zip object
Atenção ZipArchive::locateName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object
Atenção ZipArchive::getFromName(): Invalid or uninitialized Zip object

Fatal error : Uncaught Error: Class ‘PhpOffice\Common\Text’ not found in /var/www/html/sc9/app/SPREV_EAR/_lib/libraries/sys/phpword/phpword/TemplateProcessor.php:255 Stack trace: #0
Neste erro consta a falta do “Text” na pasta Common que não existe nos arquivos que baixei…

os restantes abaixo não sei o q pode ser…
/var/www/html/sc9/app/SPREV_EAR/_lib/libraries/sys/phpword/phpword/TemplateProcessor.php(324): PhpOffice\PhpWord\TemplateProcessor::ensureUtf8Encoded(‘TESTE’) #1 /var/www/html/sc9/app/SPREV_EAR/blk_teste/index.php(1742): PhpOffice\PhpWord\TemplateProcessor->setValue(’${#nome_ass#}’, ‘TESTE’) #2 /var/www/html/sc9/app/SPREV_EAR/blk_teste/index.php(2096): blk_teste_apl->controle() #3 {main} thrown in /var/www/html/sc9/app/SPREV_EAR/_lib/libraries/sys/phpword/phpword/TemplateProcessor.php** on line **255

Se alguém tiver alguma dica do que eu estou fazendo errado fico grato.

uso num servidor linux.

Bom dia,

Não use o #. Use outro caracter, pois esse caracter é de controle do SC. Eu faço assim:
xnomex.

obrigado por responder…
sim, deu certo, tem q tirar o # no próprio doc.

agora o problema é a falta de conhecimento pra instalar… vamos a luta.

1 Curtida

E complementando o que disseste: a falta de conhecimento e as mudanças que acontecem no SC que nunca sabemos…