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(30) NOT NULL, | |
tipo VARCHAR(30) NOT NULL, | |
tamanho INT NOT NULL, | |
conteudo MEDIUMBLOB NOT NULL, | |
PRIMARY KEY(id) | |
); |
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