PHPWord

 
 

Biblioteca PHP de código aberto para documentos do Microsoft® Word

Leia, grave, processe e converta arquivos MS Word DOC, DOCX, ODT, RTF e HTML para o formato PDF por meio da API PHP.

O que é PHPWord?

PHPWord é uma biblioteca de código aberto que consiste em classes para ajudá-lo no desenvolvimento de aplicativos PHP que podem interagir com vários formatos de arquivo de documento. O PHPWord é licenciado sob LGPL Versão 3 e permite trabalhar com configurações de documentos, estilos, modelos e vários outros elementos.

Previous Next

Introdução ao PHPWord

Para criar um documento word usando o PHPWord você precisa dos seguintes recursos instalados em seu sistema operacional:

  • PHP versão 5.3.3+
  • Compositor
  • XML Parser Extension (Esta extensão é habilitada por padrão)
  • Zend Escaper Component Install it using compositor requer zendframework/zend-escaper
  • Componente Zend Escaper Instale-o usando o composer require zendframework/zend-escaper

Criar documento do Word usando PHPWord

PHPWord permite que os desenvolvedores criem um novo documento do Word (DOCX) a partir do zero. Ele permite que você adicione novos parágrafos, títulos, texto, imagens, hiperlinks, gráficos e muito mais. Criar um documento do Word é simples, você precisa criar um novo documento usando o método PhpWord().

Criar palavra em PHP

  1. Criar documento do Word usando PhpWord
  2. Adicionar seção no documento
  3. Adicionar texto na seção
  4. Salvar documento

Criar um documento do Word - PHP

<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add an empty Section to the document
$section = $phpWord->addSection();
// Add Text element to the Section
$section->addText(
  'File Format Developer Guide - '
  . 'Learn about computer files that you come across in '
  . 'your daily work at: www.fileformat.com'
);
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('HelloWorld.docx');
  

Defina as configurações do documento com facilidade

Você pode realizar várias configurações de documentos. A ampliação padrão do documento é 100%, mas você pode alterá-la para outro valor. Para documentos frente e verso, por ex. revistas, você pode configurar páginas opostas espelhando as margens da página. Você pode ajustar o status da opção de verificação automática de erros gramaticais ou ortográficos.

Recurso para rastrear revisões de documentos também está disponível. O PHPWord pode ser configurado para trabalhar com idiomas latinos, idiomas do leste asiático, bem como idiomas complexos (bi-direcionais). Você pode proteger um documento ou parte dele com uma senha.

Existem muitos outros recursos que o PHPWord permite que você configure para documentos, alguns deles incluem informações do documento, unidades de medida, hifenização e recálculo automático dos campos do documento sempre que o documento é aberto.

Definir propriedades DOCX - PHP

<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Set document properties
$properties = $phpWord->getDocInfo();
$properties->setCreator('Ali Ahmed');
$properties->setCompany('File Format');
$properties->setTitle('PHPWord');
$properties->setDescription('File Format Developer Guide');
$properties->setCategory('My category');
$properties->setLastModifiedBy('My name');
$properties->setCreated(mktime(0, 0, 0, 3, 12, 2019));
$properties->setModified(mktime(0, 0, 0, 3, 14, 2019));
$properties->setSubject('PHPWord');
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('DocumentProperties.docx');
  

Recipientes para organizar os elementos do documento

O PHPWord possui objetos chamados containers, que contêm vários elementos (tabelas, texto, etc) de um documento. Existem 3 contêineres primários; seções, cabeçalhos e rodapés. Além disso, existem 3 elementos que podem atuar como contêineres; texturas, células de tabela e notas de rodapé.

Todos os elementos visíveis de um documento precisam ser colocados dentro de uma seção. Você pode atribuir números de página, números de linha, alterar o layout para várias colunas e criar cabeçalhos/rodapés.

Adicionar contêiner de cabeçalho

<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add an empty Section to the document
$section = $phpWord->addSection();
// Add Header
$header = $section->addHeader();
$header->addImage('word-processing-image.png');
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('Container.docx');

Proteger documento do Word via API PHPWord

É sempre aconselhável proteger ou proteger seus documentos importantes que incluem informações confidenciais. A biblioteca PHPWord de código aberto permite que os desenvolvedores de software protejam seus documentos do Word fornecendo uma senha exclusiva dentro de seus aplicativos PHP. A proteção funcionará como uma salvaguarda, impedindo o acesso não autorizado ou alterações no documento Word.

 Português