Pdf.js: formato PDF implementado com tecnologias da webO potencial do Javascript e do HTML5 nunca cessa de 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, detalhadamente intrincando 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, este era um formato proprietário da Adobe (embora disponível gratuitamente desde 2001) até 2008, quando deu 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, pois é 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 também pode servir para indicar o grau de maturidade do HTML5, quando (ou se) ficar comprovado que é possível implementar de forma completa o formato PDF, representando todos os elementos dos documentos, com 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 – inclusive com previews - completamente 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 usando ferramentas também baseadas em padrões abertos – e é o caso: PDF implementado em Javascript e HTML5. Neste 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. |