Wie verwende ich die Suchfunktion (Strg+F) für dieses bestimmte PDF?

Wie verwende ich die Suchfunktion (Strg+F) für dieses bestimmte PDF?

Ich versuche, die Suchfunktion für eine Reihe zusammengehöriger PDF-Dokumente zu verwenden, die ich habe, aber aus irgendeinem Grund wird bei der Suche nach etwas Einfachem wie „dem“ nichts angezeigt.

Hier sind ein paar Dinge, die ich gelernt habe, als ich versucht habe, das herauszufinden:

  1. Wenn ich Text direkt aus der PDF-Datei in das Suchfeld kopiere und einfüge, wird diese Zeichenfolge gefunden, die Suche funktioniert jedoch nicht über die Tastatureingabe.

  2. Als Beispiel dafür, wie der Text aussieht, wenn ich ihn aus der PDF-Datei in meinen Browser oder eine beliebige Textbearbeitungsanwendung kopiere, habe ich folgenden Text kopiert: „Als Mitarbeiter der Lohn- und Gehaltsabrechnungsabteilung müssen Sie die verschiedenen Prozesse erkennen und verstehen, die während der Lohn- und Gehaltsabrechnung auftreten.“

  3. So sieht es aus, wenn ich es tatsächlich kopiere und einfüge:

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

Ich weiß nicht, vielleicht liegt es an der Kodierung? Vielleicht gibt es eine Möglichkeit, die PDF-Datei so zu öffnen, dass sie in den gleichen Text konvertiert wird, den meine Tastatur akzeptiert, sodass ich nach dem benötigten Text suchen kann.

Jede Hilfe wird sehr geschätzt!

Antwort1

Alle diese „Zeichen“ befinden sich im Unicode-Bereich „Private Use“. Zusammen mit einer Schriftart, die Glyphen für diese Codepunkte enthält, erscheint es als normaler Text.

Die Verschleierung ist jedoch sehr schwach. Schauen wir uns an , was angeblich ist As. Die Codepunkte sind \uF041und \uF073. Zufällig hat „Lateinischer Großbuchstabe A“ \u0041während „Lateinischer Kleinbuchstabe S“ hat \u0073.

Sie müssen nur alle Codepunkte durchgehen und 0xF000den verschleierten Text subtrahieren/addieren, um ihn in ihn umzuwandeln. Dadurch können Sie Text aus dem Dokument kopieren oder im Dokument nach Text suchen.

Hier ist ein JavaScript-Code, der den Text dekodiert:

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

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

  console.log(decoded);
}

Umgekehrt gilt nur für einzelne Wörter:

{
  let source = "understand";

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

  console.log(coded);
}

Beide Snippets orientieren sich strikt am angegebenen Beispiel. Sollten weitere Kodierungstricks vorhanden sein, bedarf es weiterer Anpassungen im Code.

Sie können diese Snippets in der Entwicklerkonsole Ihres Browsers verwenden, die normalerweise über zugänglich ist F12.

verwandte Informationen