Dieser Artikel führt Sie hauptsächlich in die Verwendung von node.js zum Extrahieren von Word- (doc/docx) und PDF-Text im Linux-System ein. Der Artikel enthält detaillierte Beispielcodes für Ihre Referenz und Ihr Studium. Freunde, die es brauchen, folgen Sie bitte dem Herausgeber, um einen Blick darauf zu werfen.
Vorwort
Wenn Sie eine Volltextsuchmaschine erstellen möchten, müssen Sie den Inhalt von Dokumenten wie Word/PDF extrahieren . Für PDF gibt es einige Open-Source-Lösungen wie xpdf.
Bei Word-Dokumenten ist die Situation jedoch komplizierter.
PDF-Textinhalt extrahieren
XPDF ist eine kostenlose Open-Source-Software zum Anzeigen von PDF-Dateien und Konvertieren von PDF-Text Bilder usw., unterstützt auch die Windows-Version. Die Installation unter Debian Linux ist sehr einfach:
apt-get install xpdf
Wir verwenden hier nur die pdftotext-Funktion, geben Sie direkt ein, um die Hilfe anzuzeigen:
root@raspberrypi:/var/www# pdftotext pdftotext version 0.26.5 Copyright 2005-2014 The Poppler Developers - http://poppler.freedesktop.org Copyright 1996-2011 Glyph & Cog, LLC Usage: pdftotext [options] <PDF-file> [<text-file>] -f <int> : first page to convert -l <int> : last page to convert -r <fp> : resolution, in DPI (default is 72) -x <int> : x-coordinate of the crop area top left corner -y <int> : y-coordinate of the crop area top left corner -W <int> : width of crop area in pixels (default is 0) -H <int> : height of crop area in pixels (default is 0) -layout : maintain original physical layout -fixed <fp> : assume fixed-pitch (or tabular) text -raw : keep strings in content stream order -htmlmeta : generate a simple HTML file, including the meta information -enc <string> : output text encoding name -listenc : list available encodings -eol <string> : output end-of-line convention (unix, dos, or mac) -nopgbrk : don't insert page breaks between pages -bbox : output bounding box for each word and page size to html. Sets -htmlmeta -opw <string> : owner password (for encrypted files) -upw <string> : user password (for encrypted files) -q : don't print any messages or errors -v : print copyright and version info -h : print usage information -help : print usage information --help : print usage information -? : print usage information
Testen Sie es:
root@raspberrypi:/var/www# pdftotext onceai.pdf onceai.txt root@raspberrypi:/var/www# cat onceai.txt 产品介绍 顽石智能科技(上海)有限公司 ....
Verwenden Sie dann child_process in node.js, um diesen Befehl direkt aufzurufen. pdftotext gibt den Inhalt als Text aus Dateien erfordern möglicherweise mehr Vorgänge. Der spezifische Code wird weggelassen.
Verwenden Sie Antiword, um den Inhalt von .doc zu extrahieren
Wir verwenden hier Antiword-Open-Source-Software, um den Inhalt früherer Versionen von Word2003 zu extrahieren. Auch die Installation ist ganz einfach:
apt-get install antiword
Hilfe anzeigen:
root@raspberrypi:/var/www# antiword Name: antiword Purpose: Display MS-Word files Author: (C) 1998-2005 Adri van Os Version: 0.37 (21 Oct 2005) Status: GNU General Public License Usage: antiword [switches] wordfile1 [wordfile2 ...] Switches: [-f|-t|-a papersize|-p papersize|-x dtd][-m mapping][-w #][-i #][-Ls] -f formatted text output -t text output (default) -a <paper size name> Adobe PDF output -p <paper size name> PostScript output paper size like: a4, letter or legal -x <dtd> XML output like: db (DocBook) -m <mapping> character mapping file -w <width> in characters of text output -i <level> image level (PostScript only) -L use landscape mode (PostScript only) -r Show removed text -s Show hidden (by Word) text
antiword gibt den Wortinhalt direkt in der Konsole aus:
root@raspberrypi:/var/www# antiword spec.doc SYNC Mobile – Ford APA Project Number: DFYST Requirements Specification
Sie können diesen Befehl auch mit child_process in node.js aufrufen.
Parsen und extrahieren Sie den Inhalt von .docx
Für docx-Dokumente ist das Gen selbst eine Zip-Datei, die Sie nur benötigen to node.js dekomprimiert es zunächst und analysiert dann die Datei text.docxworddocument.xml.
Es gibt auch einige Bibliotheken auf Github, die docx in HTML analysieren,
wie zum Beispiel:
github.com/mwilliamson/mammoth.js
github .com /lalalic/docx2html
usw.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für die Verwendung von node.js zum Extrahieren von Word-Inhalten in Linux-Systemen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!