O problema é que os arquivos de saída do Tesseract são bastante grandes e eu quero compactá-los após o OCR. No entanto, quando eu uso o Ghostscript para compactar os arquivos, o texto do OCR embutido está bagunçado. Da mesma forma, se eu usar o ImageMagick, o texto incorporado será removido. Existe uma maneira de contornar isso? Teoricamente eu poderia comprimir antes de OCR, mas isso pioraria a precisão do OCR.
De modo geral, meu objetivo é ter texto OCR incorporado de alta qualidade em meus arquivos PDF de saída e ter as imagens incorporadas altamente compactadas para que os arquivos não ocupem tanto espaço. Descobri que o recurso Adobe Acrobat Pro "Salvar como Outros > PDF de Tamanho Reduzido" comprime muito as imagens, mas estraga qualquer texto com OCR. Isso é verdade se os arquivos foram submetidos a OCR no Acrobat, ou usando uma ferramenta como o Tesseract.Este é o meu fluxo de trabalho atual, usando um exemplo de pdf .
Divida PDF em arquivos TIFF
pdftk infile.pdf burst output "temp/page_%03d.pdf"
dpi=130 #this is the dpi of the particular file
parallel convert -verbose -density $dpi "{}" -depth 8 -background white -compress zip "{}.tiff" ::: temp/*.pdf
Execute o Tesseract em cada um dos arquivos TIFF (consulte a saída do arquivo de amostra )
language=deu_frak
parallel tesseract {} {} -l $language pdf ::: temp/*.tiff
convert -density 130x130 -quality 5 -compress jpeg outfile-pdftk.pdf outfile-pdftk-imagemagick.pdf
), ele remove o texto OCR incorporado ( saída ) Parece que o Tesseract não comprime as imagens no PDF de saída, o que é esperado - o trabalho é fazer o OCR dos arquivos, não comprimir a saída.
Por exemplo, nos arquivos OCR iniciais do Tesseract, pdfimages -list temp/page_001.pdf.tiff.pdf
produz:
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 1067 1508 rgb 3 8 jpeg no 11 0 129 130 318K 6.7%
... o que indica que o objeto de imagem no PDF não é exatamente armazenado de maneira ideal. Ainda está em RGB, não em preto & branco. Ao comprimir com o ImageMagick, pelo contrário, pdfimages -list
dá:
pdfimages -list outfile-pdftk-imagemagick.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 1075 1520 gray 1 8 jpeg no 8 0 130 131 54.0K 3.4%
1 1 smask 1075 1520 gray 1 8 image no 8 0 130 131 25.1K 1.6%
2 2 image 1075 1520 gray 1 8 jpeg no 22 0 130 131 59.9K 3.8%
2 3 smask 1075 1520 gray 1 8 image no 22 0 130 131 25.1K 1.6%
3 4 image 1075 1520 gray 1 8 jpeg no 36 0 130 131 45.2K 2.8%
3 5 smask 1075 1520 gray 1 8 image no 36 0 130 131 25.1K 1.6%
4 6 image 1075 1520 gray 1 8 jpeg no 50 0 130 131 62.8K 3.9%
4 7 smask 1075 1520 gray 1 8 image no 50 0 130 131 25.1K 1.6%
5 8 image 1075 1520 gray 1 8 jpeg no 64 0 130 131 61.1K 3.8%
5 9 smask 1075 1520 gray 1 8 image no 64 0 130 131 25.1K 1.6%
6 10 image 1075 1520 gray 1 8 jpeg no 78 0 130 131 63.4K 4.0%
6 11 smask 1075 1520 gray 1 8 image no 78 0 130 131 25.1K 1.6%
7 12 image 1075 1520 gray 1 8 jpeg no 92 0 130 131 65.1K 4.1%
7 13 smask 1075 1520 gray 1 8 image no 92 0 130 131 25.1K 1.6%
8 14 image 1075 1520 gray 1 8 jpeg no 106 0 130 131 61.0K 3.8%
8 15 smask 1075 1520 gray 1 8 image no 106 0 130 131 25.1K 1.6%
9 16 image 1075 1520 gray 1 8 jpeg no 120 0 130 131 66.8K 4.2%
9 17 smask 1075 1520 gray 1 8 image no 120 0 130 131 25.1K 1.6%
10 18 image 1075 1520 gray 1 8 jpeg no 134 0 130 131 65.6K 4.1%
10 19 smask 1075 1520 gray 1 8 image no 134 0 130 131 25.1K 1.6%
Como podemos ver as imagens ocupam menos espaço, no entanto, o texto incorporado ao OCR foi removido e, de alguma forma, o arquivo é menor. Em comparação, se eu pegar o arquivo original (sem o texto incorporado ao OCR) e compactá-lo usando o "Salvar como Outros > PDF de Tamanho Reduzido" do Adobe Acrobat, recebo:
pdfimages -list infile-adobe.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 1000 1499 gray 1 8 jpx no 38 0 129 129 78.1K 5.3%
2 1 image 1000 1499 gray 1 8 jpx no 3 0 129 129 89.1K 6.1%
3 2 image 1000 1499 gray 1 8 jpx no 6 0 129 129 65.6K 4.5%
4 3 image 1000 1499 gray 1 8 jpx no 9 0 129 129 97.7K 6.7%
5 4 image 1000 1499 gray 1 8 jpx no 12 0 129 129 95.4K 6.5%
6 5 image 1000 1499 gray 1 8 jpx no 15 0 129 129 98.7K 6.7%
7 6 image 1000 1499 gray 1 8 jpx no 18 0 129 129 102K 6.9%
8 7 image 1000 1499 gray 1 8 jpx no 21 0 129 129 94.6K 6.5%
9 8 image 1000 1499 gray 1 8 jpx no 24 0 129 129 105K 7.2%
10 9 image 1000 1499 gray 1 8 jpx no 27 0 129 129 103K 7.1%
... Como podemos ver, o Adobe Acrobat parece comprimir imagens usando o JPEG2000 (JPX) que não está disponível para o Ghostscript ou o ImageMagick devido a problemas com patentes.
No geral, alguma sugestão sobre como compactar arquivos PDF Tesseract-OCR?