텍스트가있는 페이지를 PDF로 스캔하고 OCR 응용 프로그램을 실행하면 텍스트가 페이지에 추가되지만 "텍스트 렌더링 모드"는 보이지 않게 설정됩니다. 거기에 있지만 화면 (또는 인쇄 된 경우 용지)에 렌더링되지 않습니다. 보거나 인쇄하는 것은 원본 스캔 이미지입니다.
보이지 않는 텍스트를 어떻게 보이게 할 수 있습니까?
글쎄, 우리는 PDF를 편집 할 수 있습니다 ... 텍스트 렌더링을 보이지 않게 설정하는 PDF 코드는 다음과 같습니다.
3 Tr
원래이 문자열을 (아직) 찾을 수 없습니다 from_abbyy.pdf 도에 from_ghostscript.pdf PDF 파일의 일부가 압축되어 있기 때문이다. 따라서 우리는 가능한 한 다음을 통해 압축을 해제합니다 qpdf
.
qpdf \
--qdf \
from_abbyy.pdf \
qdf--from_abbyy.pdf
qpdf \
--qdf \
after_ghostscript.pdf \
qdf--after_ghostscript.pdf
이제 위의 문자열을 쉽게 찾을 수 있습니다 (각 파일에는 한 번만 나타납니다).
이것을 텍스트 렌더링의 보이는 모드 중 하나로 전환합시다. 전체적으로 다음 8 가지 텍스트 렌더링 모드 중에서 선택할 수 있습니다.
0 - fill glyph shapes
1 - stroke glyph shapes
2 - fill, then stroke glyph shapes
3 - neither fill nor stroke glyph shapes (invisible)
4 - fill and add to path for clipping glyph shapes
5 - stroke glyph shapes and add to path for clipping
6 - fill, then stroke glyph shapes and add path for clipping
7 - add glyph shapes to path for clipping
"채우기"모드를 사용하는 경우 OCR의 텍스트가 기본 스캔 이미지 위에 제대로 표시되지 않을 수 있습니다. 따라서 "stroke"변형을 선호합니다. 그래서 단순히 위의 행을 변경하여 읽습니다.
1 Tr
이 수정 된 PDF를 보면 기본 선폭이 너무 두껍기 때문에 마음에 들지 않습니다. 또한 윤곽 선의 색상은 검은 색입니다 (기본값). 원래 스캔 한 모양과 대조를 이루기 위해 빨간색을 선호합니다. 따라서 선 너비를 점의 1/4로 설정하는이 코드 앞에 코드를 추가합니다.
.25 w
획 색상을 빨간색으로 설정하는 다른 것 :
1 0 0 RG
이제 전체 줄을 읽습니다.
.25 w 1 0 0 RG 1 Tr
그게 다야.
주, 우리의 작은 조작 파일을 손상했다고, (기술적 인 용어로 : 자사의 "TOC"때문에 xref
테이블)는 이제 더 이상 유효하지 않습니다. 그럼에도 불구하고 Acrobat Reader 또는 Acrobat Professional은 여전히 파일을 열어 (심지어 불평하지 않고) 파일의 외부 참조 섹션을 자동으로 "수리"합니다. 다른 PDF 뷰어는 파일을 거부 할 수 있지만 현재로서는 신경 쓰지 않습니다.
결과의 스크린 샷은 다음과 같습니다.
(첫 번째 스크린 샷은 창 너비로 확대됩니다.)
(두 번째 스크린 샷은 800 %로 확대되었습니다.)
빨간색 외곽선은 스캔 한 텍스트가 원하는대로 표시됩니다.
from_abbyy.pdf 및 after_ghostscript.pdf 파일 모두에 대해 위에서 설명한 것과 동일한 절차를 수행했습니다 . Acrobat Reader의 두 가지 다른 인스턴스에서 두 결과를 모두 열었습니다. 둘 다 같은 값으로 확대하고 두 창을 모두 최대화하면을 통해 두 파일간에보기를 쉽게 전환 할 수 있습니다 [alt]+[tab]
. 이는 두 PDF 파일 간의 렌더링 차이를 가장 잘 표현할 수있는 좋은 방법입니다.
내 결과는 : Ghostscript (v9.02) 입력 과이 파일의 출력 사이에 다른 단일 픽셀조차 없습니다. 그러나 텍스트를 복사하여 붙여 넣기를 원한다면 상당한 차이가 있습니다 ...