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.
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
- Criar documento do Word usando PhpWord
- Adicionar seção no documento
- Adicionar texto na seção
- 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.