Gerar PDF com PHP através da biblioteca DOMPDF

Quando falamos em desenvolvimento web, é muito comum a necessidade de gerar arquivos PDF's de algum relatório. Muitos já devem ter tido alguma dificuldade com a configuração de algumas bibliotecas para fazer esta geração.

Com a  a biblioteca DOMPDF conseguimos fazer a conversão de uma página HTML para PHP de forma fácil, rápida e com possibilidades de incluir imagens, cabeçalho, rodapé, CSS, número de páginas, tamanho e orientação do papel, etc.

Para baixar a biblioteca DOMPDF é só acessar https://github.com/dompdf/dompdf/downloads e voilà. A biblioteca é gratuita e vem com diversos exemplos, dos mais simples aos mais complexos, o que facilita ainda mais o seu entendimento.

Vamos a alguns exemplos de utilização:

Aqui um pequeno trecho HTML que depois será convertido em PDF. Notem que é possível utilizarmos CSS de forma bem simples.

PHP

$html "
<html>
 <head>
   <style ='text/css'>
     body {
       font-family: Calibri, DejaVu Sans, Arial;
       margin: 0;
       padding: 0;
       border: none;
       font-size: 13px;
     }
 
     #exemplo {
       width: 100%;
       height: auto;
       overflow: hidden;
       padding: 5px 0;
       text-align: center;
       background-color: #CCC;
       color: #FFF;
     }
   </style>
 </head>
 <body>
   <div id='exemplo'>
     Gerar PDF com a classe DOMPDF para PHP.<br />
   </div>
 </body>
 </html>";

No trecho acima criamos um HTML simples, com uma mensagem dentro de uma div. A div e a mensagem foram estilizadas com CSS Embed. Esse código HTML foi atribuído à variável $html que utilizaremos abaixo.

Um dos recursos da DOMPDF é a possibilidade de utilizar CSS's e não precisar ficar definindo posições X e Y de cada elemento, como algumas bibliotecas o fazem.

Agora vamos ao código que irá fazer a conversão do conteúdo HTML da variável $html para PDF.

PHP

<?php
// Incluímos a biblioteca DOMPDF
require_once("dompdf/dompdf_config.inc.php");
 
// Instanciamos a classe
$dompdf = new DOMPDF();
 
// Passamos o conteúdo que será convertido para PDF
$dompdf->load_html($html);
 
// Definimos o tamanho do papel e
// sua orientação (retrato ou paisagem)
$dompdf->set_paper('A4','portrait');
 
// O arquivo é convertido
$dompdf->render();
 
// Salvo no diretório temporário do sistema
// e exibido para o usuário
$dompdf->stream("nome-do-arquivo.pdf");
?>

Bem simples, não?

Alguns Cuidados:

Fontes

Ter fontes true type (.ttf) instaladas no servidor é o bastante para exibí-las corretamente na tela mas para que a biblioteca DOMPDF reconheça essas fontes é preciso carregá-las para o diretório da biblioteca.

Para carregar novas fontes para a biblioteca DOMXML, basta seguir o tutorial disponível em http://www.dirtyhandsphp.com/2013/03/dompdf-new-font-installation.html.

Imagens

Se no seu código HTML forem utilizadas imagens locais (dentro do mesmo servidor onde a biblioteca DOMPDF está instalada) não precisa se preocupar. Mas se você utiliza imagens externas é necessário habilitar a função DOMPDF_ENABLE_REMOTE. No arquivo compdf_config.inc.php, na linha 289, defina DOMPDF_ENABLE_REMOTE como true.

Como vimos, a criação do de um documento PDF através da DOMPDF é muito simples. Em casos de dúvidas, dêem uma olhada nos exemplos que estão disponíveis junto com a documentação da biblioteca.

Como dobrar manga de camisa social

Dobrar uma camisa social de forma que o punho trabalhado fique aparecendo nem sempre é fácil, então para facilitar esta tarefa ai está o vídeo.

Caso não consiga dobrar as mangas sozinho, tente dobrá-las antes de vestir a camisa.

Fonte: pakidermeboutique

Tenho que comentar uma SQL. Como faço?

Isso é muito simples de se fazer. Existem duas formas de se fazer um comentário na linguagem PL/SQL:

Para comentar apenas uma linha, é utilizado o delimitador -- (2 hífens). A partir de dois hífens tudo o que for escrito até o final da linha é considerado comentário.

Exemplo:

-- Comentário em uma linha

Para comentar múltiplas linhas, é utilizado o delimitador /* para abrir e */ para fechar. Tudo e todas as linhas que estiverem entre os dois delimitadores serão ignorados na execução.

Exemplo:

/*
Comentario
em
múltiplas
linhas
*/

Como Fazer o Upload de Arquivos para um Banco de Dados MySQL Utilizando o PHP

Algumas aplicações web necessitam que os arquivos .jpg, .doc, .pdf e etc. sejam gravados no banco de dados MySql. Para isso, podemos fazer um script PHP que realize esta tarefa.

Para iniciar, vamos criar uma tabela para armazenar estes arquivos. Abaixo segue a estrutura da tabela:

  • id: Identificador único para cada arquivo
  • nome: O nome do arquivo
  • tipo: Tipo do conteúdo
  • tamanho: Tamanho do arquivo
  • conteudo: O arquivo em si

Para a coluna conteudo, vamos usar o tipo de dados BLOB. BLOB é um objeto binário grande que pode conter uma quantidade variável de dados. O MySQL possui quatro tipos de dados BLOB:

  • TINYBLOB
  • BLOB
  • MEDIUMBLOB
  • LONGBLOB

O tipo BLOB é limitado a 64 kilobytes de armazenamento, enquanto que o MEDIUMBLOB possui capacidade de até até 16 megabytes. Iremos utilizar o tipo MEDIUMBLOB para que possamos armazenar arquivos maiores. Abaixo o SQL para a criação ta tabela:

PHP

CREATE TABLE upload (
id INT NOT NULL AUTO_INCREMENT,
nome VARCHAR(30NOT NULL,
tipo VARCHAR(30NOT NULL,
tamanho INT NOT NULL,
conteudo MEDIUMBLOB NOT NULL,
PRIMARY KEY(id)
);
Continue Lendo »

Acessando Internet Banking da Caixa e demais bancos no Linux com IcedTea

Como acessar o Internet Banking da Caixa Econômica Federal (e do Banco do Brasil, Santander, HSBC, Bradesco e Itaú) usando Software Livre? Primeiramente, você precisa verificar se têm o Java Runtime Environment no seu sistema. Para verificar é só usar o comando:

java -version

Se tiver instalado alguma JVM, o sistema irá retornar algo como na imagem abaixo. Se não tiver instalado, é necessário instalar.

Primeiramente vamos instalar o OpenJDK. Para isso, basta instalar o pacote OpenJDK da sua distribuição:

Ubuntu:

sudo apt-get install openjdk-6-jre

Fedora:

sudo yum install java-1.7.0-openjdk

Archlinux:

sudo pacman -S jdk7-openjdk

Depois de instalado o OpenJDK, é necessário instalar o plugin para o Java Web Start, usado pelos bancos:

Ubuntu:

sudo apt-get install icedtea-plugin

Fedora:

sudo yum install icedtea-web

Archlinux:

sudo pacman -S icedtea-web-java7

Configurando o Firefox

Depois de instalado o OpenJDK e o Icedtea, é necessário fazer com que o Firefox carregue o plugin. Nem sempre o Firefox reconhece o IcedTea como o plugin para rodar o Java. Para resolver isso, vamos abrir as opções de configuração do Firefox em about:config e procurarmos pela seguinte chave:

dom.ipc.plugins.java.enabled

Se essa chave não existir, crie uma nova chave booleana. Em seguida, mude o seu valor para true. Essa opção é usada pelo navegador para indicar que não há JVM instalada no sistema. Com isso, o Firefox irá deixar de pedir para instalar um plugin e irá buscar o IcedTea no sistema e funcionará.

Depois dessa opção, é só reiniciar o Firefox e abrir o seu Internet Banking.

Espero que o post tenha os ajudado a resolver este pequeno inconveniente ;-)

Fonte: http://networkedblogs.com/M9WOE

1 2 3 4 5 6 7 8 9 10 11 ... 89 »