Recentemente comprei um tablet com o principal objetivo de utilizá-lo para leituras em geral, em especial de artigos científicos, facilitando assim o gerenciamento, armazenamento e reduzindo o número de impressões que faço deste tipo de documento. Por conta disso, uma das funcionalidades que adoraria utilizar seria a possibilidade de fazer anotações nos arquivos que leio no tablet, manter estas anotações nos arquivos, abrir estes mesmos arquivos em um computador convencional utilizando outro software, e ainda assim conseguir visualizar e manipular as anotações feitas anteriormente.
O formato mais comum destes documentos serem encontrados é o Portable Document Format – ou PDF, que tem como característica a manutenção da formatação do documento independente da plataforma utilizada para lê-lo. O PDF é um formato originalmente desenvolvido pela Adobe em 1993 para sua suíte Acrobat, e por conta da fidelidade de formatação e independência de plataforma tornou-se um dos “padrões de fato” para compartilhamento de arquivos digitais.
As especificações do formato PDF foram durante muito tempo propriedade exclusiva da Adobe, e aqueles que queriam desenvolver alguma solução utilizando o formato tinham basicamente duas opções: ou recorriam ao pagamento de royalties para a empresa ou se empenhavam nas técnicas de engenharia reversa sobre o formato.
Isso perdurou até o ano de 2008, quando a versão 1.7 da especificação do PDF foi submetida pela Adobe à ISO, na tentativa de torná-lo um padrão aberto. Após os trâmites convencionais da organização, o PDF 1.7 entrou para rol dos formatos abertos de documento, publicado pela ISO sob o código 32000-1:2008. Você pode ter acesso ao documento pagando 238 francos suíços (253 Obamas quando este texto foi escrito) ou baixando gratuitamente uma cópia no site da Adobe.
O documento, um verdadeiro calhamaço de 756 páginas, trás as descrições completas do formato e também funcionalidades extras. Temos lá a sintaxe, como tratar gráficos, com tratar fontes, como encriptar o acesso, transparências, como adicionar áudio e vídeo ao PDF (você sabia que isso é possível?), como criar formulários interativos (sabia dessa também?) e, entre muitas outras, temos a descrição do suporte a anotações (seção 12.5).
Entretanto, apesar da existência de um padrão de suporte a anotações em PDFs, a aplicação desta especificação é totalmente dependente da implementação realizada pelos desenvolvedores. Apenas a existência de um padrão internacional ISO, documentado e certificado, não garante que todas as implementações que levam o nome do formato, de fato, estejam implementando aquilo que está especificado no padrão.
E este é um dos grandes problemas que afetam o formato PDF. Diversas implementações seguem apenas um subconjunto da especificação padrão, notadamente a renderização dos arquivos, tratamento de fontes, etc. Demais funcionalidades que permitem o uso dos arquivos desse formato para além da visualização fiel de documentos, ou muitas vezes não são implementadas, ou pior, são implementadas de uma forma que não seguem a especificação do padrão.
Esta tática é comumente utilizada por alguns atores da indústria de software para manter, a força, os usuários nos domínios de seus produtos, impedindo a migração ou mesmo o uso simultâneo de soluções diferentes para um mesmo fim.
Daí decorre a confusão de normalmente acharmos que não há um padrão para o uso de anotações em PDF: na verdade ele existe, mas é sumariamente negligenciado por empresas que desenvolvem softwares nesse campo, onde estas preferem implementar um padrão próprio não compatível com a especificação e não compatível com outros programas similares.
A solução para este problema é um pouco complicada. No mundo ideal, todos os leitores de PDF e bibliotecas associadas deveriam implementar a especificação ISO 32000-1:2008, mas não vivemos nesse mundo. Uma possibilidade seria termos conhecimento a priori se determinado software implementa ou não a especificação padrão, mas dificilmente encontramos esta informação de uma forma fácil.
Portanto, uma das saídas é elencar quais funcionalidades você gostaria de utilizar que não fossem dependentes de apenas um distribuidor, e sair testando a esmo quais delas são compatíveis em quais softwares. Outra saída seria utilizar softwares leitores de PDF baseados em Poppler, que implementem as funcionalidades que você deseja.
Poppler é uma biblioteca livre (GPL 2) multiplataforma voltada para renderização de PDFs, e implementa o padrão ISO 32000-1:2008. Esta biblioteca é um projeto apoiado pela freedesktop.org, iniciativa que provê padrões interoperáveis entre os diversos ambientes desktop livres e unix’s em geral. Poppler atingiu um nível de maturidade suficiente para que a Free Software Foundation retirasse o desenvolvimento da biblioteca GNU PDF de sua lista de projetos de alta prioridade.
O software leitor de documentos universal do KDE, Okular, durante alguns anos teve como o pedido de funcionalidade mais recorrente o suporte a anotações em PDFs. O software até lia anotações que seguiam o padrão ISO, mas não as salvava como metadados do próprio PDF. Até então, o Okular utilizava um “truque” para suportar anotações em todos os tipos de documentos que ele lê criando um formato de projeto .okular onde eram salvos o arquivo em si e os metadados das notas.
Após a adoção da versão 0.20 da biblioteca Poppler no último lançamento do KDE 4.9, o Okular versão 0.15.2 passou a suportar a gravação das anotações no próprio PDF. Para tanto, basta após a realização das anotações, ir em Arquivo -> Salvar Como. Na imagem abaixo, temos o arquivo PDF com duas anotações realizadas no Okular:
Para testar o suporte destas anotações em outro software, abri-o no Evince, o leitor de documentos do Gnome que também usa a biblioteca Poppler. Eu não consegui fazer anotações nesse software (acho que ele não suporta esta funcionalidade), mas ele conseguiu apresentar as anotações anteriormente realizadas no Okular:
Portanto, vale lembrar: Poppler dá suporte a funcionalidades e segue a maneira como estas são especificadas no padrão PDF; entretanto, o software que utiliza Poppler ainda deve prover o acesso a estas funcionalidades. É possível encontrar na página wiki do projeto uma lista de leitores de PDF que utilizam Poppler.
Entretanto, o Poppler deve ser tratado como uma “quase solução” para o problema que relatei no primeiro parágrafo. No Android, até o momento, não temos um bom leitor de PDFs baseado nessa biblioteca. Existe o apdfviewer, mas de acordo com seu repositório faz algum tempo que ele não é mais desenvolvido. Portanto, para o problema de manter anotações em PDFs e compartilhá-las entre distribuições GNU/Linux e Android, a saída seria desenvolver um novo leitor PDF baseado em Poppler, fazer um fork do apdfviewer e implementar o que falta, ou fazer os testes a esmo sobre a compatibilidade dessa funcionalidade.
Portanto, gostaria de convidar quem se interessou pelo tema a compartilhar nos comentários quais os leitores PDF que você utiliza, em qual plataforma os usa, se eles seguem um padrão que permite a você utilizar as funcionalidades em um e outro, e mais assuntos sobre o tema. Inclusive, seria muito útil criarmos uma tabela para visualizarmos quais funcionalidades são compartilhadas por quais softwares leitores de PDF que temos disponíveis por aí. Você pode baixar artigo de uma página com as anotações que utilizei como exemplo neste link.
P.S.: se você não conhece, visite o site pdfreaders.org, mantido pela FSFE, que contém vários softwares livres leitores de PDF. O objetivo é criar um repositório e uma conscientização de que leitor de PDF não é necessariamente Adobe Reader. Aliás, eu fiz a tradução do site para o português nos idos de 2009.
0sem comentários ainda