질문
스캔하고 디지털화하고 싶은 오래된 책이 많이 있습니다. 나는 이것을 위해 평판 스캐너를 사용했는데 xsane
훌륭하게 GImageReader
작동했습니다.
몇 년 전, 아직도 Windows에서 이런 일을 하고 있을 때 사용 ABBY Fine Reader
하고 만족했지만 Linux에서는 사용할 수 없습니다.
이제 지금 만든 PDF와 이전에 만든 PDF를 비교해 보면 오늘의 파일이 훨씬 더 크다는 것을 알 수 있습니다.
ABBY를 사용하면 파일 크기가 10~50MB 사이인 50~60페이지의 PDF를 얻을 수 있었는데, 이는 괜찮다고 생각했습니다. 요즘 내 PDF 파일은 50~60페이지이고 파일 크기는 150MB 이상이어서 스마트폰으로 읽을 때 별로 유용하지 않습니다.
나는 동일한 스캔 설정을 사용합니다.
- A4 페이지
jpg
압축- 300dpi
- 표지 컬러 스캔
- 모든 내부 페이지의 그레이스케일 스캔
크기 차이는 ABBY가 상업적인 마법을 사용하여 지능적으로 이미지 압축을 수행하는 것과 관련이 있는 반면 GImageReader는 그렇지 않다고 생각합니다. 어쩌면 비어 있지 않은 영역(그림 및 텍스트 블록)을 식별하고 "배경 이미지" 등을 적극적으로 압축하면서 더 높은 품질로 저장하거나 일부 페이지는 회색조이고 다른 페이지는 회색조 색상이라는 것을 인식할 수도 있습니다. 에서는 이러한 구별이 손실될 수 있습니다 GImageReader
. 나는 정말로 모른다. 그러나 나는 그것에 대해 알고 싶다.
내가 시도한 것
그 이후로 저는 다양한 PDF 압축 방법을 실험하기 시작했습니다. 대부분의 온라인 가이드에서는 gs
또는 중 하나를 사용하도록 권장합니다 pdftk
. 저는 둘 다 시도해 보았습니다. 나의 경우에는 다음과 같은 사실을 관찰했습니다.
- 옵션 1: 및
gs
설정 은 파일 크기를 전혀 줄이지 않으며 설정 으로 인해 이미지 품질이 크게 저하됩니다.pdf->pdf
/printer
/prepress
/screen
/ebook
- 옵션 2: 그때를
gs
위해 . 이로 인해 파일 크기가 크게 줄어들었고(이것이 왜 옵션 1과 다른지 이해가 안 되지만 어쨌든) 번역 시 텍스트의 문자 모양이 손실된 것을 알기 전까지는 이 옵션에 만족했습니다. PDF에서 텍스트 조각을 복사하여 붙여넣으면 일부 윙딩 유형의 횡설수설이 발생하는 반면 원본 PDF에서 텍스트를 복사하여 붙여넣을 수 있으므로 이는 안 됩니다.pdf->ps
ps->pdf
- 옵션 3: 파일 크기가
pdftk
전혀 줄어들지 않는 것 같습니다pdf->pdf
.
지금 무엇을 해야 하나
나는 PDF 압축 기술이 어떻게 그렇게 완전히 다른 결과를 만들어낼 수 있는지에 대해 약간 혼란스럽습니다. Linux(FOSS가 바람직하지만 저렴한 상업용 제품도 마음에 듭니다)에서 실행되고 스캔된 PDF와 OCRd PDF에 대한 상당한 PDF 압축을 제공하는 도구를 찾고 있습니다. 300dpi A4 JPG에 비해 품질이 낮습니다. 손실.
답변1
크기 차이는 ABBY가 상업적인 마법을 사용하여 이미지 압축을 지능적으로 수행하는 것과 관련이 있다고 생각합니다.
가정하지 말고 조사해 보세요. PDF 형식은잘 기록 된, 자세한 내용을 읽어보세요. 편집기에서 PDF 파일을 열거나 를 사용하여 less
페이지가 실제로 어떻게 인코딩되는지 확인하고 차이점을 찾아보세요. 또는 mutools
PDF 파일의 일부를 추출할 수 있는 명령줄 도구와 유사한 패키지를 설치하십시오 .
PDF의 이미지는 저장된 해상도(스캔된 해상도와 같을 수도 있고 아닐 수도 있음)와 압축 알고리즘에 따라 서로 다른 공간을 차지합니다.
표준에 따른 표준 압축 방법은
- ASCII 16진수 디코딩
- ASCII85 디코딩
- LZW디코드(Lempel-Ziv-Welch).
- FlatDecode(zlib/deflate)
- 실행 길이 디코딩
그리고 일부 내용은 적용되지 않을 수 있습니다.
따라서 ABBY가 사용하는 해상도와 압축 방법을 알아낸 다음 해당 방법을 재현할 수 있는 도구를 찾아보십시오(기본적으로 사용할 수 없는 경우 기존 도구를 수정해야 할 수도 있습니다).
내가 이해한 바에 따르면 이는 ABBY가 마스크 기능과 함께 JPXDecode 필터를 사용하여 이미지를 인코딩한다는 의미입니다. 이는 JPXDecode(JPG2000?) 압축을 수행할 수 있는 Linux/FOSS 대안을 찾고 있음을 의미합니다.
정확히. JPG는아니요는 사진 중심이기 때문에 텍스트에 가장 적합한 압축 방법입니다. 즉, 일반적인 텍스트의 선명한 전환을 제대로 렌더링하지 못합니다. 반면, 이는 스캔이기 때문에 스캔할 때 전환이 이미 본질적으로 흐릿할 수 있습니다.
또한 JPG에는 압축률과 품질에 영향을 미치는 매개변수가 꽤 많습니다.
따라서 이 경우 mutools
일부 이미지를 추출하고 다른 도구(예: ImageMagick/GraphicsMagick)를 사용하여 mediainfo
JPG identify -verbose
이미지의 매개변수를 찾으십시오.
아직 하나 있어요매우압축이 풀린 JPG 이미지를 고배율로 주의 깊게 살펴보고 품질이 충분한지 확인하세요.
스캔한 이미지에서 원하는 해상도와 품질로 JPG 파일을 생성할 수 있는 오픈 소스 도구가 많이 있어야 하지만, 이를 PDF로 패키징할 수 있는 도구는 없습니다.