Opinião dos mais experientes em sc

Boa tarde a todos.

Gostaria da opinião dos colegas mais experientes em sc.

Qual a maneira mais indicada para que seja gerado um arquivo em word com várias páginas, cabeçalho, rodapé e imagens?

O fato é que criei uma consulta livre, importei um template, no entanto só depois descobri que com a consulta livre não é
possível o uso da quebra de página.

A minha necessidade seria ter um documento word pré formatado e inserir os campos de uma tabela nos locais indicados,
porém com a possibilidade de ser gerado um arquivo word editável, que permitisse ao usuário editar o arquivo.

Aguardo opiniões.

Obrigado.

…consulta livre não é possível o uso da quebra de página…

É possível sim! Estude THEAD e TBODY!

Nesse seu caso especifico que tal gerar um arquivo .CSV no seu HOST e o cliente com um arquivo WORD já preparado no PC dele para mala direta só abriria o documento após gerar no seu sistema, e clicava em MESCLAR, IMPRIMIR, e com isso ele poderia mudar o documento do jeito que desejar, etc, igual você quer.

A empresa onde presto serviço precisava de um documento onde deveria conter em todas páginas cabeçalho e rodapé, de acordo com a NBR. Porém esse relatório está na web onde desenvolvi no SC… aí ferrou porém dei uma pesquisada e descobri as estilizações para tabela:
thead {display: table-header-group; }
tfoot {display: table-footer-group; }
Que fazem com que a página web tenha o cabeçalho e rodapé em todas páginas de impressão.
Resolvido meu problema porém tem o fato que só funciona no I.E. e outra no SC para fazer consegui apenas aplicar em um blank.
Então fiz a app blank e validei o browse com a função $_SERVER[‘HTTP_USER_AGENT’] e assim se o usuário não estiver no I.E. aparece uma imagem orientando como proseguir, se estiver no I.E. aparece o documento para impressão.
Assim resolveu meu problema.

Dê uma olhada também em
https://www.youtube.com/watch?v=PgiQpIYQyoQ

Se fosse em PDF se resolveria com piscar de olhos o lance de cabeçalho e rodapé! Mas como ele quer exportar pra Word ai é outra história.

Obrigado a todos.
Rodrigo, ví o vídeo e é bastante esclarecedor o uso do cabeçalho e rodapé em PDF.

Mas como disse o FredKeyster o grande problema é exportar os campos de uma consulta direto no Word. Já torrei os milos e ainda nada.
É o seguinte. O problema é que o arquivo terá várias páginas, pois se trata de um APFD (auto de prisão em flagrante delito). Com a consulta livre, eu consegui criar um template (.html), consegui jogar os campos dentro do arquivo, porém quando exporto para o word o conteúdo fica “preso” em uma tabela (inclusive com borda) e não cria as demais páginas, ficando tudo corrido.

A sugestão de Jailton, de criar um arquivo CSV, até é interessante mas aí o usuário voltaria para a mala direta do word, que é justamente o que se quer evitar com a aplicação, ou seja, evitar a mala direta.

Mais alguma sugestão? Obrigado.

Em último caso, tem esta biblioteca, ela é especifica para gerar formatando para o WORD, mas é paga e licenciada por
nome do domínio, mas é muito boa:
http://www.phpdocx.com/documentation/html-to-word-PHP

Vou dar uma olhada nela Jailton. Em seguida retorno. Obrigado.

Jailton. Você chegou a usar esta biblioteca? baixei o trial e acho, pelo que lí, que vai resolver o problema. Agora como fazer para incorporar ela no sc? vc sabe?

Seria usando uma blank do SC e seguindo os exemplos lá, não cheguei a usar, só vi que várias empresas usam, que tem essa necessidade de gerar para word.

Veja se isso pode te ajudar.

http://www.phpclasses.org/package/8175-PHP-Create-Microsoft-Word-DocX-document-from-template.html

https://phpword.codeplex.com/discussions/225901

https://github.com/PHPOffice/PHPWord

http://phpword.codeplex.com/

http://www.thaicreate.com/php/php-config-word.application.html

http://www.kvcodes.com/2014/08/create-docx-files-using-php/

Ok Jailton. vou tentar.

Celso, vou dar uma olhada no seu link. Em seguida retorno.

Olá pessoal.
Vi um exemplo de uso do PHPWord do colega Herberto.
https://www.scriptcase.com.br/forum/index.php/topic,4830.msg20053.html#msg20053

Estou tentando adaptar, mas sem sucesso.

Eis o que fiz:

a) Copiei a pasta da biblioteca para dentro da minha aplicação;
b) Defini a biblioteca como pública e marqueia no formulário onde vou fazer uso;
c) Criei um botão PHP e inseri o seguinte código para efeito de teste:

//------------------------------------------------------------------------------
// Include the PHPWord.php, all other classes were loaded by an autoloader
chdir(’…/PHPWord’);
require_once ‘PHPWord.php’;

// Create a new PHPWord Object
$PHPWord = new PHPWord();
$PHPWord->setDefaultFontName(‘Arial Narrow’);
$PHPWord->setDefaultFontSize(10);
// Every element you want to append to the word document is placed in a section. So you need a section:

$section = $PHPWord->createSection();
$fontStyle = array (‘bold’ => true);
$paraStyle = array (‘align’ => ‘center’);
$header = $section->createHeader();
$imageStyle = array(‘width’=>50, ‘height’=>50, ‘align’=>‘center’);
$header->addPreserveText(‘Câmara Municipal da Ribeira Brava’,$fontStyle,$paraStyle);
// At least write the document to webspace:
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, ‘Word2007’);
$objWriter->save(’…/testePHPWord/Relatorio.doc’);
//-----------------------------------------------------------------------

Só que está dando esta mensagem de erro quando aciono o botão:

Fatal error: Cannot redeclare class PHPWord in C:\Program Files\NetMake\v8\wwwroot\scriptcase\app\FlagranteWeb\PHPWord\PHPWord.php on line 43

Alguém tem ideia desta mensagem de erro?

Isso é porque você está incluindo a classe ‘PHPWord.php’ 2 vezes.

Está incluindo no código (require_once ‘PHPWord.php’:wink: e está marcando a biblioteca.

Obrigado a todos pelas dicas. Problema resolvido. Adquiri o phpdocx e está funcionando.