PDF 파일에서 문자 대신 단어를 추출하시겠습니까?

PDF 파일에서 문자 대신 단어를 추출하시겠습니까?

나는 less그것을 pdftotextPDF 파일에서 텍스트를 추출하는 데 사용합니다 less my.pdf. 이런 식으로 일부 단어에는 공백으로 구분된 문자가 있습니다.PDF 파일.

CH APTE R 2 5        T E ST IN G WE B A P P LIC AT IO N S      540

어떤 사람들은 Adobe Reader에 문제가 없다고 주장합니다. 이를 확인할 절차가 없습니다. 하지만 Linux의 어떤 소프트웨어 프로그램이 단어를 올바르게 추출할 수 있는지 알고 싶습니다.

답변1

PDF와 그 자매 PostScript는 모든 장치(모니터, 프린터, 인쇄기 등)에서 매번 동일한 출력을 재현하는 문서를 작성하기 위한 언어입니다. 따라서 문서 작성자가 각 문자 속성을 개별적으로 지정할 수 있습니다. 귀하의 문서를 보지 않고도 작성자가 문자를 분리하는 이유를 추측할 수 있습니다. 가장 일반적인 원인은 커닝입니다. 문자 사이의 간격을 조정하는 곳입니다.

운 좋게도 캐릭터가 실제로 순서대로되어 있습니다. 제작자가 캐릭터를 재배치하여 완전히 순서대로 만들지 못할 이유가 없습니다. 페이지에서는 단어처럼 보이지만 귀하의 경우 PDF 코드에서는 단어가 아닙니다.

답변2

pdf텍스트 정보를 반드시 포함해야 하는 것은 아니지만 시각적 출력을 생성하도록 조판되어야 합니다. 활자가 적힌 인쇄판이라고 생각하세요. 각 문자는 절대적인 위치, 크기 및 스타일을 가진 상자입니다. 모든 이미지에도 마찬가지입니다. 거기에 수학이 있다면 문제가 어디에 있는지 알 수 있습니다. 누가 텍스트가 선형이라고 말합니까? 원본 작성자가 의도한 대로 정확히 위치와 크기가 지정된 문자 모양이 뒤죽박죽되어 있습니다.

pdf포스트스크립트의 제거된(및 업그레이드/조정된) 버전이고 한 번에 더 긴 문자열을 "인쇄"(그런 다음 표시)하는 명령이 여전히 있기 때문에 실제 텍스트와 유사한 것을 얻을 가능성이 있습니다. 내장된 글꼴이 지정된 스타일이 있는 페이지로). 이것이 당신이 얻는 것입니다 pdftotext. 그러나 원래 응용 프로그램의 출력이 원하는 시각적 모양을 얻기 위해 단어나 문자로 분할된 경우 줄 바꿈, 공백 등이 혼란스러울 수 있습니다.

텍스트가 베지어 곡선으로 변환되거나 문서가 스캔되면 운이 좋지 않습니다. 많은 최신 뷰어에는 OCR 기능이 있으므로 일부 기본 형태의 검색 및 선택이 여전히 적용됩니다. 그러나 올바른 형식의 출력을 기대하지 마십시오. 텍스트 추출은 대부분 리버스 엔지니어링입니다.

이 문제를 적절하게 처리하려면 의미론적 콘텐츠와 고정 장치 독립적 디스플레이 기능을 모두 포함하는 보다 구조화된 문서가 필요합니다. 우리는 그것을 가지고 있지 않습니다. html페이징 출력에는 적합하지 않으며 oxps이와 관련하여 그다지 좋지도 않습니다.pdf

관련 정보