instalando biblioteca pdflib debian lenny Page History


Compilando a biblioteca PDFLib no Debian Lenny

Atenção: este artigo foi migrado do antigo Portal do SPB e pode estar desatualizado, isso significa que pode ter algumas informações que não se aplicam mais. Caso tenha alguma dúvida ou sugestão, acesse a Home desta wiki, onde tem um link apontando para um espaço que foi reservado para isto.

  1. Compilação
  2. Integrando a biblioteca no PHP
  3. Throubleshooting

A biblioteca PDFLib é um dos requisitos para a instalação do i-Educar. É através desta biblioteca que todos os arquivos em formato PDF são gerados pela aplicação.

Esta biblioteca está disponível em duas versões distintas: a commercial (denominada apenas PDFLib) e a free software (denominada PDFLib Lite). A PDFLib Lite possui um subconjunto das funcionalidades da PDFLib e seu código fonte é distribuído para uso nos sistemas operacionais Linux/Unix?, Windows e Mac OS X. Para as necessidades do i-Educar, as funcionalidades da PDFLib Lite são suficientes.

Para uso comercial, deve-se observar as restrições impostas pela licença da biblioteca.

Esse guia é baseado no Debian Lenny. Os mesmos passos deverão funcionar no Ubuntu e outros sistemas baseados na distro Debian. Todos os passos devem ser realizados com o usuário root ou com o uso do comando sudo.

Usuários Windows devem seguir as instruções disponíveis na seção "instalando a biblioteca PDFLib" do guia de instalação para o SO.

Compilação

Como apenas o código fonte da biblioteca PDFLib Lite é distribuído, é necessário que este seja compilado. Os utilitários necessários para isso são o make e o GNU C++ Compiler (g++). Para instalá-los, use o aptitude:

# aptitude install make g++ Feito isso, faça o download do código fonte da biblioteca PDFLib Lite para Linux. Seguindo as convenções, iremos fazer o download no diretório /usr/src:

# cd /usr/src # wget http://www.pdflib.com/binaries/PDFlib/704/PDFlib-Lite-7.0.4p4.tar.gz # tar -xzvf PDFlib-Lite-7.0.4.tar.gz # cd PDFlib-Lite-7.0.4

O processo de compilação não passa do uso dos utilitários configure e make:

# ./configure --without-java --without-perl --without-py --without-ruby --without-tcl --without-PLOP --without-PCOS --without-TET --without-CL

O sumário do comando deverá apresentar o seguinte ao final:

For your convenience, here's a summary of configure's results:

Support for shared libraries: yes C++ language binding for PDFlib: yes Java language binding for PDFlib: no Perl language binding for PDFlib: no Python language binding for PDFlib: no Ruby language binding for PDFlib: no Tcl language binding for PDFlib: no PDF import library (PDI): no Large file support: yes Note: if you purchase the additional PDF import library (PDI) you can also manipulate existing PDF documents with PDFlib. The additional block feature can be used to personalize PDF. See http://www.pdflib.com for details.

Please observe the licensing terms for commercial PDFlib usage. PDFlib license agreement and purchase order can be found in the doc directory.

Esse comando configure está desabilitando o suporte para os bindings Java, Perl, Python e Ruby assim como os produtos PLOP, pCOS e TET da PDFLib Gmbh. As opções completas do configure podem ser obtidas com ./configure --help.

Para testar o configure antes da compilação, use o make test, após isso, execute o make install:

# make # make test # make install

Por padrão, a biblioteca será compilada para uso compartilhado em /usr/local/lib/:

# ls -lh /usr/local/lib/ total 11M -rw-r--r-- 1 root staff 6,5M Set 8 14:52 libpdf.a -rw-r--r-- 1 root staff 789 Set 8 14:52 libpdf.la lrwxrwxrwx 1 root staff 15 Set 8 14:52 libpdf.so -> libpdf.so.6.0.4 lrwxrwxrwx 1 root staff 15 Set 8 14:52 libpdf.so.6 -> libpdf.so.6.0.4 -rw-r--r-- 1 root staff 4,1M Set 8 14:52 libpdf.so.6.0.4

Integrando a biblioteca no PHP

Para integrar a biblioteca PDFLib Lite no PHP, é necessário instalar a extensão PECL (PHP Extension Community Library) pdflib. A instalação de extensões PECL é bastante simples pois usa-se o mesmo sistema de empacotamento do PEAR (PHP Extension and Application Repository).

Para ter o utilitário pecl instalado, é necessário instalar o pacote php5-dev.

# pecl install pdflib O PECL irá fazer o download do pacote e perguntará qual o local em que a biblioteca foi instalada. Informe /usr/local:

# path to pdflib installation? : /usr/local Ao final da compilação da extensão PECL, a seguinte mensagem aparecerá:

Build process completed successfully Installing '/usr/lib/php5/20060613+lfs/pdf.so' install ok: channel://pecl.php.net/pdflib-2.1.7

Pronto! A biblioteca PDFLib foi instalada e já está adicionada no seu arquivo php.ini. Reinicie o Apache e acesse o arquivo info.php (geralmente http://localhost/ieducar/info.php). Procure por pdf:

alt text1

Throubleshooting

Caso o seu arquivo info.php não liste a biblioteca PDFLib como instalada, procure em seu arquivo php.ini a seguinte linha:

extension=pdf.so

Caso a linha não esteja no arquivo, adicione-a e reinicie o Apache. Recarregue a página do info.php e procure por pdf novamente.


Last edited by Caroline Salib