ホームページ >運用・保守 >Linuxの運用と保守 >Linuxシステムでnode.jsを使用してWordとPDFのテキストコンテンツを抽出する方法の事例紹介
この記事では、Linux システムで Word (doc/docx) と PDF テキストを抽出するための node.js の使用方法を主に紹介します。この記事には、参考にして勉強するための詳細なサンプル コードが記載されています。エディターで見てください。
はじめに
全文検索エンジンを構築したい場合は、word/pdf などの文書の内容を抽出する必要があります。 PDF の場合は、xpdf などのオープンソース ソリューションがいくつかあります。
しかし、Word 文書の場合はもう少し複雑です。
PDF テキストコンテンツを抽出
Debian Linux へのインストールは非常に簡単です:
apt-get install xpdf
ここでは pdftotext 関数のみを使用します:
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
テストしてください:
root@raspberrypi:/var/www# pdftotext onceai.pdf onceai.txt root@raspberrypi:/var/www# cat onceai.txt 产品介绍 顽石智能科技(上海)有限公司 ....
次に、node.js で child_process を使用してこのコマンドを直接呼び出します。 pdftotext コンテンツはテキスト ファイルに出力されますが、追加の操作が必要になる場合があります。具体的なコードは省略します。
antiword を使用して .doc のコンテンツを抽出します
ここでは、antiword オープン ソース ソフトウェアを使用して、word2003 の以前のバージョンのコンテンツを抽出します。インストールも非常に簡単です:
apt-get install antiword
ヘルプを表示:
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 direct 単語の内容をコンソールに出力します:
root@raspberrypi:/var/www# antiword spec.doc SYNC Mobile – Ford APA Project Number: DFYST Requirements Specification
同様に、node.js の child_process を使用してこのコマンドを呼び出します。
.docx のコンテンツを解析して抽出します
。 document.xml ファイルするだけです。
概要
以上がLinuxシステムでnode.jsを使用してWordとPDFのテキストコンテンツを抽出する方法の事例紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。