Aqui está como eu removo o texto de OCR-ed, se eu tiver que ...
Primeiro, você precisa saber que o texto em OCR em um PDF não é uma camada , mas um modo especial de renderização de texto . A seguinte captura de tela da especificação oficial do PDF lista todas as renderizações de texto disponíveis modos:
Paramaisinformações,vejaestasminhasrespostasnoStackOverflow:
"Como podemos tornar visível o texto invisível? - "Criando 'texto' em PDF com o OCR-ed"
Agora, para o procedimento que imagino:
0. Faça um backup do seu arquivo PDF original
'nuff disse ...
1. Use qpdf
para desfazer a compactação da maioria dos objetos PDF
qpdf
é uma bela ferramenta de linha de comando para transformar a maioria dos PDFs em um formato que o torne mais fácil de manipular através de um editor de texto (ou através de sed
):
qpdf \
--qdf \
--object-streams=disable \
input.pdf \
editable.pdf
2. Pesquise por pontos em que o código PDF contém 3 Tr
Todos os pontos no texto editable.pdf
onde há 'invisível' (a.k.a. não preenchido nem acariciado ) são marcados por uma definição inicial de
3 Tr
Altere estes para agora ler
1 Tr
Isso deve tornar visível o texto anteriormente oculto. Os glifos aparecerão em contornos espessos, sobrepondo as imagens originais da página digitalizada.
Vai ficar muito feio.
Salve o PDF editado.
3. Altere os operadores de tratamento de texto Tj
e TJ
para 'não-ops'
Sempre que uma sequência de texto é preparada para renderização, o operador real responsável por isso é denominado Tj
ou TJ
.
Fique atento a tudo isso. Substitua-os por tJ
e tj
. Isso os transformará em "no-ops": eles não têm nenhum significado no código-fonte do PDF; nenhum visualizador ou processador de PDF os "entenderá". (Tenha cuidado para não alterar o número de bytes ao substituir o material no código-fonte do PDF, porque senão você pode fazer com que ele se torne "corrompido".)
Salve o arquivo PDF.
4. Verifique como o arquivo PDF está agora
O PDF deve agora parecer "limpo" novamente. Os operadores de texto renomeados não têm mais nenhum significado para o visualizador de PDF nem para qualquer interpretador de PDF.
5. Use o Ghostscript para criar o PDF final
Este comando deve alcançar o que você deseja:
gs \
-o final.pdf \
-sDEVICE=pdfwrite \
-dPDFSETTINGS=/prepress \
editable.pdf
Esta etapa final usa editable.pdf
como entrada. Emite final.pdf
. A saída terá removido todos os vestígios de texto. A entrada ainda tinha o texto, embora de forma "inutilizável", porque o operador renomeia. Como o Ghostscript não "entende" os operadores renomeados, ele simplesmente os ignorará por padrão.