中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統中如何利用node.js提取Word(doc/docx)及PDF文本

發布時間:2021-07-16 10:16:52 來源:億速云 閱讀:204 作者:小新 欄目:web開發

這篇文章給大家分享的是有關Linux系統中如何利用node.js提取Word(doc/docx)及PDF文本的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

前言

想要做全文搜索引擎,則需要將word/pdf等文檔內容提取出來。對于pdf有xpdf等一些開源方案。

但Word文檔的情況則會復雜一些。

提取PDF文本內容

XPDF是一個免費開源的軟件,用于顯示PDF文件,并可將pdf轉換成文字圖片等,同樣支持Windows版。在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直接將word內容輸出到了console中:

root@raspberrypi:/var/www# antiword spec.doc

SYNC Mobile – Ford APA
Project Number: DFYST
Requirements Specification

同樣在node.js用child_process調用此命令即可。

解析提取.docx 的內容

對于 docx 文檔來說,因基本身就是一個zip文件,只需要在node.js先將其解壓,再解析 text.docx\word\document.xml 文件即可。

Github上也有些將docx解析成html的庫,

感謝各位的閱讀!關于“Linux系統中如何利用node.js提取Word(doc/docx)及PDF文本”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

容城县| 迁安市| 万载县| 靖远县| 岑巩县| 沛县| 乌恰县| 偏关县| 通山县| 响水县| 南澳县| 平山县| 鄂温| 德惠市| 荔浦县| 来安县| 景泰县| 井陉县| 尉犁县| 三原县| 鲁甸县| 弋阳县| 沂源县| 宜君县| 华蓥市| 沐川县| 宁乡县| 永丰县| 永康市| 杭锦后旗| 鄱阳县| 金湖县| 运城市| 彭水| 泸溪县| 都昌县| 庄浪县| 娄底市| 邯郸市| 枝江市| 黄陵县|