Um dos contratempos mais frequentes na rotina de quem lida com processos judiciais (PJe, Eproc, Projudi) e contabilidade é o documento digitalizado com orientação incorreta. Uma certidão escaneada na horizontal, uma escritura antiga de cabeça para baixo ou um contrato cujas páginas pares estão invertidas geram retrabalho imediato, advertências de secretarias de varas e até despachos determinando a juntada correta sob pena de preclusão.
A reação instintiva da maioria dos usuários é abrir o arquivo no leitor padrão (como Adobe Reader ou o próprio navegador), clicar no botão de girar e salvar. No entanto, ao fechar e anexar o arquivo no sistema do tribunal, a surpresa desagradável se repete: o documento volta a aparecer deitado ou invertido.
Para entender por que isso acontece e como resolver de forma definitiva, é necessário compreender a diferença entre uma rotação visual de viewport e a alteração real da instrução binária /Rotate no grafo de objetos do PDF.
A Anatomia da Instrução /Rotate na Árvore do PDF
No padrão técnico ISO 32000 (especificação oficial do PDF), um arquivo não é uma sequência linear de imagens, mas sim uma árvore hierárquica de objetos. Cada folha física do documento é representada por um nó de dicionário do tipo /Page.
Esse dicionário armazena metadados essenciais, como as dimensões da caixa de corte (/MediaBox), os fluxos de conteúdo vetorial (/Contents) e uma chave escalar chamada /Rotate.
/Type /Page
/Parent 3 0 R
/MediaBox [0 0 595.28 841.89] % Dimensões A4 em pontos tipográficos
/Rotate 90 % ROTAÇÃO PERMANENTE GRAVADA EM GRAUS
/Contents 5 0 R
>>
A especificação técnica determina que o valor da instrução /Rotate deve ser obrigatoriamente um múltiplo de 90 graus no sentido horário (0, 90, 180 ou 270). Quando você apenas aperta o botão de rotação na barra do leitor de PDFs, o software aplica uma transformação de visualização no monitor, mas não recompila a árvore de dicionários. Ao carregar o arquivo no indexador do tribunal, o sistema lê a chave original e exibe a página torta novamente.
Por que Conversores Comuns Degradam a Qualidade?
Muitos serviços genéricos na internet realizam a rotação de forma destrutiva: transformam a página em uma imagem JPEG, giram essa imagem e a recompilam em um novo PDF. Esse processo causa dois problemas graves:
- Perda de resolução (DPI): Textos pequenos de certidões cartorárias e assinaturas ficam borrados devido à compressão com perdas.
- Destruição de texto pesquisável (OCR): Se o documento original possuía camadas de texto indexadas, a rasterização transforma tudo em uma imagem muda, fazendo com que o arquivo perca a função de busca por
Ctrl + F.
No Sniper Lab, a abordagem é puramente estrutural: através da biblioteca pdf-lib executada no motor JavaScript do navegador, a instrução page.setRotation() reescreve diretamente o valor da chave /Rotate no nó de cada folha, sem tocar nas matrizes gráficas ou nos fluxos de texto existentes.