Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Eine Falleinführung zur Verwendung von node.js zum Extrahieren von Word- und PDF-Textinhalten im Linux-System

Eine Falleinführung zur Verwendung von node.js zum Extrahieren von Word- und PDF-Textinhalten im Linux-System

黄舟
黄舟Original
2017-06-18 09:11:011894Durchsuche

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, Bildern, 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. Sie können die Hilfe anzeigen, indem Sie direkt Folgendes eingeben:

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&#39;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&#39;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, um den Inhalt in eine Textdatei auszugeben, was möglicherweise einige weitere Vorgänge erfordert. 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 an die 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.

Zusammenfassung

Das obige ist der detaillierte Inhalt vonEine Falleinführung zur Verwendung von node.js zum Extrahieren von Word- und PDF-Textinhalten im Linux-System. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn