Desenvolvimento

22 set, 2011

Pdf.js: formato PDF implementado com tecnologias da web

Publicidade

O potencial do Javascript e do HTML5 nunca cessa de nos surpreender. E a novidade da vez é o pdf.js, projeto anunciado em meados de junho
com a missão de substituir, na exibição de arquivos PDF, o tradicional
uso de plugins de navegadores (como o Adobe PDF Reader e similares) por
uma implementação usando tecnologias nativas dos navegadores modernos.

Como
se sabe, o PDF é um formato que suporta documentos complexos, intrincando detalhadamente elementos tipográficos variados, e que
usualmente conduzem a exibições de páginas idênticas em todas as
plataformas e aplicativos que o suportam.

Criado
em 1993, esse era um formato pertencente a Adobe até 2008, embora disponível
gratuitamente desde 2001. No ano de 2008, deu-se origem à norma ISO
32000-1:2008, acompanhada de uma licença pública gratuita, concedida pela
Adobe, sobre o uso de suas patentes necessárias à implementação do
padrão.

Historicamente,
os plugins responsáveis pela exibição do PDF em navegadores foram
muitas vezes os causadores de problemas de segurança ou desempenho, a
ponto de alguns dos fornecedores da área terem passado a desenvolver
seus próprios plugins, em código nativo para cada plataforma suportada,
garantindo o suporte ao formato.

O
pdf.js é uma maneira nova de enxergar o problema, oferecendo uma
implementação que pode ser independente da plataforma, por ser uma típica
aplicação web, definida com linguagens e padrões que os navegadores
conseguem (ou deveriam conseguir) interpretar.

Além
da aplicação direta – renderizar os PDFs -, o pdf.js pode servir
para indicar o grau de maturidade do HTML5, quando ficar
comprovado que é possível implementar de forma completa o formato PDF,
representando todos os elementos dos documentos, com um desempenho que
atenda às expectativas do usuário.

O
primeiro dos marcos no desenvolvimento do recém-anunciado pdf.js foi
atingido já no início de julho, quando foi anunciado ao público que ele
já era capaz de exibir completamente – inclusive com previews – um exemplar de documentação do projeto Tracemonkey, que faz uso de uma série de elementos complexos do formato.

O próximo marco é bem mais ambicioso: conseguir renderizar na íntegra a própria especificação do PDF, que naturalmente ilustra e emprega vários dos elementos adotados no padrão.

É
interessante ver implementações de padrões abertas construídas apenas com
ferramentas baseadas em padrões abertos – e é o caso: PDF
implementado em Javascript e HTML5. Nesse caso, o projeto ocorre no
âmbito da comunidade Mozilla, mas não há razão para imaginar que seu
resultado final não será compatível com outros navegadores correntes
também.

O pdf.js é um software livre (licença tipo BSD), você pode acompanhar seu desenvolvimento pelo wiki do projeto.