OCR의 내장 텍스트를 유지하면서 Tesseract로 인코딩 된 PDF를 압축하는 방법은 무엇입니까?


3

PDF를 OCR에 Tesseract를 사용하여 실험 해 왔으며 특히 Adobe Acrobat과 같은 도구가 제대로 인식 할 수없는 독일어 Fraktur 텍스트 (구식 고딕 양식 인쇄)를 사용하는 경우에 대부분 성공했습니다.

문제는 Tesseract의 출력 파일이 다소 커서 OCR 후 압축하고 싶습니다. 그러나 Ghostscript를 사용하여 파일을 압축하면 포함 된 OCR 텍스트가 엉망이됩니다. 마찬가지로 ImageMagick을 사용하면 포함 된 텍스트가 제거됩니다. 이 주위에 방법이 있습니까? 이론적으로 OCRing 전에 압축 할 수는 있지만 OCR 정확도가 떨어집니다.

일반적으로 내 목표는 출력 PDF 파일에 고품질 OCR 포함 텍스트를 포함하고 파일이 거의 많은 공간을 차지하지 않도록 포함 된 이미지를 압축하는 것입니다. Adobe Acrobat Pro 기능인 "다른 이름으로 저장> 축소 크기 PDF"는 이미지를 압축하지만 OCR의 텍스트를 고정시키는 것으로 나타났습니다. 파일이 Acrobat에서 OCR로 작성되었는지 또는 Tesseract와 같은 도구를 사용하는지에 관계없이 적용됩니다.

다음은 샘플 pdf를 사용하는 현재 워크 플로 입니다.

TIFF 파일로 PDF 분할

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

각 TIFF 파일에서 Tesseract를 실행하십시오 ( 샘플 파일의 출력 참조 ).

language=deu_frak
parallel tesseract {} {} -l $language pdf ::: temp/*.tiff
  • 내가 고스트 스크립트로 출력 PDF 파일을 결합 할 때, 나는 같은 파일을 얻을 이 하나 , 포함 된 텍스트까지 나사를
  • 내가 PDFtk (예 : pdftk 온도 / *. PDF 고양이 출력 outfile.pdf`)와 조합 할 때, 나는 같은 파일을 얻을 이 하나 포함 된 텍스트를 유지하지만 어떻게 든 파일 큰 수
  • 그런 다음 ImageMagic (예 :)을 사용하여 해당 파일을 압축하려고 convert -density 130x130 -quality 5 -compress jpeg outfile-pdftk.pdf outfile-pdftk-imagemagick.pdf하면 포함 된 OCR 텍스트 ( 출력 )를 제거합니다

Tesseract는 출력 PDF의 이미지를 압축하지 않는 것 같습니다. 출력은 압축하지 않고 파일을 OCR로 만드는 것입니다.

예를 들어, 초기 Tesseract OCR 파일에서 다음을 pdfimages -list temp/page_001.pdf.tiff.pdf생성합니다.

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%

... PDF의 이미지 객체가 정확하게 최적으로 저장되지 않았 음을 나타냅니다. 여전히 흑백이 아니라 RGB입니다. 이와 달리 ImageMagick으로 압축하면 다음과 같은 이점 pdfimages -list이 있습니다.

  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%

우리가 볼 수 있듯이 이미지는 공간을 덜 차지하지만 OCR이 포함 된 텍스트는 제거되었고 어떻게 든 파일은 적습니다. 이에 비해 OCR 내장 텍스트없이 원본 파일을 가져와 Adobe Acrobat의 "다른 이름으로 저장> 축소 크기 PDF"를 사용하여 압축하면 다음과 같은 이점이 있습니다.

  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%

... 보시다시피, Adobe Acrobat은 특허 문제로 인해 Ghostscript 또는 ImageMagick에서 사용할 수없는 JPEG2000 (JPX)을 사용하여 이미지를 압축하는 것 같습니다.

전체적으로 Tesseract-OCR의 PDF 파일을 압축하는 방법에 대한 제안 사항이 있습니까?


내가 사용하는 "홀수"도구 하나는 PDF를 최적화하는 기능이있는 PDFFill 입니다. JPEG2000을 처리 할 수 ​​있는지 확실하지 않지만 시도해 볼 가치가 있습니다.
le_top

왜 이미지가 필요합니까? 텍스트의 배경 만 포함하는 것 같습니다. 그것들이 없으면 파일은 약 70K가 걸릴 것입니다.
harrymc

@ harrymc 이미지로 메모를 표시하고 OCR이 100 % 정확하지 않기 때문에 이미지가 필요합니다. 그렇게하면 원본을보고 내 PDF 리더에서 사용할 수 있습니다.
Jason

내가 올바르게 이해한다면, 당신은 하나의 PDF로 된 텍스트와 원본 페이지 이미지를 결합합니다. 텍스트 크기가 무시할 수 있기 때문에, 당신이 할 수있는 유일한 개선은 이미지를 약간의 손실 형식으로 변환하여 이미지를 최소화하는 것입니다-jpeg는 낮은 품질과 높은 압축률을 사용하는 것이 가장 좋습니다 (텍스트를 읽기 쉽게하려면 높은 품질이 필요하지 않습니다).
harrymc

@harrymc 맞아, 일단 텍스트가 있으면 이미지를 압축하고 싶지만 고스트 스크립트 또는 Adobe를 사용하여 압축하면 OCR의 텍스트가 망가져 전체 목적을 무효화하는 것처럼 보입니다. 예를 들어 Tesseract로 OCR 한 다음 Ghostscript로 압축 한이 출력 파일을 참조 하면 OCR 텍스트가 엉망이되어 방해를받습니다. 일부 텍스트를 복사 / 붙여 넣기 해보십시오.
Jason
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.