如何在這個特定的 PDF 上使用搜尋功能(Ctrl+F)?

如何在這個特定的 PDF 上使用搜尋功能(Ctrl+F)?

我正在嘗試對我擁有的一堆相關 pdf 文件使用搜尋功能,但由於某種原因,當我搜尋像「the」這樣的簡單內容時,什麼也沒有出現。

以下是我在嘗試解決這個問題時學到的一些東西:

  1. 如果我將 PDF 中的貼上文字直接複製到搜尋框中,它將找到該字串,但鍵盤輸入不適用於搜尋。

  2. 作為當我從 PDF 複製到瀏覽器或任何文字操作應用程式時文字的樣子的範例,我複製了這樣的文字:「作為薪資部門的成員,您需要認識並理解以下內容:發生在薪資發放過程中。

  3. 這是我實際複製和貼上時的樣子:

      l 3  „„  „„„„  !!!!!   l 

我不知道,也許這是一個程式設計問題?也許有一種方法可以打開pdf,將其轉換為我的鍵盤接受的相同類型的文本,以便我可以搜尋我需要的文本。

非常感謝所有幫助!

答案1

所有這些「字元」都在 Unicode「私人使用區域」中。與包含這些代碼點的字形的字體配合,它顯示為普通文字。

不過,混淆非常弱。我們來看一下,據說是這樣的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.

相關內容