이 특정 PDF에서 검색 기능(Ctrl+F)을 어떻게 사용합니까?

이 특정 PDF에서 검색 기능(Ctrl+F)을 어떻게 사용합니까?

제가 가지고 있는 여러 관련 PDF 문서에 대해 검색 기능을 사용하려고 하는데 어떤 이유로 "the"와 같은 간단한 것을 검색하면 아무것도 나오지 않습니다.

이 문제를 해결하기 위해 제가 배운 몇 가지 사항은 다음과 같습니다.

  1. PDF에서 붙여넣은 텍스트를 검색 상자에 직접 복사하면 해당 문자열을 찾을 수 있지만 키보드 입력은 검색에 작동하지 않습니다.

  2. PDF에서 브라우저나 텍스트 조작 응용 프로그램으로 복사할 때 텍스트가 어떻게 보이는지에 대한 예로 다음과 같은 텍스트를 복사했습니다. 급여 처리 중에 발생합니다."

  3. 실제로 복사하여 붙여넣으면 다음과 같습니다.

     ul 것    ν   ν ν 

답변1

이러한 모든 "문자"는 유니코드 "개인 사용 영역"에 있습니다. 이러한 코드 포인트에 대한 문자 모양이 포함된 글꼴과 함께 일반 텍스트로 나타납니다.

하지만 난독화는 매우 약합니다. 를 살펴보겠습니다 . 이는 아마도 입니다 . As코드 포인트는 \uF041및 입니다 \uF073. 공교롭게도 "라틴 대문자 A"에는 \u0041"라틴 소문자 S"에는 가 있습니다 \u0073.

모든 코드 포인트를 살펴보고 0xF000난독화된 텍스트에서/로 변환하려면 빼기/덧셈만 하면 됩니다. 이를 통해 문서에서 텍스트를 복사하거나 문서에서 텍스트를 검색할 수 있습니다.

다음은 텍스트를 디코딩할 JavaScript 코드입니다.

{
  let source = "                     ";

  let decoded = source.replace(/./g, c => {
    let cc = c.codePointAt(0);
    return cc > 0xF000 ? String.fromCodePoint(cc - 0xF000) : c;
  });

  console.log(decoded);
}

다른 방향으로 가려면 한 단어에만 해당됩니다.

{
  let source = "understand";

  let coded = source.replace(/./g, c => String.fromCodePoint(c.codePointAt(0) + 0xF000));

  console.log(coded);
}

두 조각 모두 주어진 예를 엄격하게 기반으로 합니다. 다른 인코딩 오류가 있는 경우 코드를 추가로 조정해야 합니다.

일반적으로 를 통해 액세스할 수 있는 브라우저의 개발자 콘솔에서 이러한 스니펫을 사용할 수 있습니다 F12.

관련 정보