2012-01-27 195 views

回答

8

調用它,您可以輕鬆地將一個到另一個,或使用例如.doc模板來生成.pdf文件,但您可能希望使用現有的Web服務來執行此任務。

這可以使用的Livedocx服務例如

要使用從節點這項服務來完成,見node-livedocx(聲明:我是這個節點模塊的作者)

+0

沒關係之間移植,這是緊張兒子。做得很好。 – Alan 2013-08-09 00:42:09

7

看起來有一些PDF,但我沒有找到任何的Word。

像這樣的CPU綁定處理無論如何都不是Node的強項(即使用節點來完成任何其他語言,您不會獲得額外的好處)。一個實用的方法是找到一個好工具並從Node中使用它。

我聽到在辦公室好東西docsplit http://documentcloud.github.com/docsplit/

雖然它不是節點,你可以很容易地從節點與http://nodejs.org/docs/latest/api/all.html#child_process.exec

+0

純JS解決方案的優點是它的瀏覽器和節點 – sdgfsdh 2018-01-16 16:51:28

11

textract是一個偉大的LIB下支持PDF,Doc,Docx等

+1

注意:textract將catdoc用於'.doc'文件,並且在Windows中不起作用。 – Tracker1 2014-12-29 22:23:28

+1

節點辦公室並未處於積極發展階段(npm表示終結),hwile textract正在積極開發,截至2016年9月。 – steampowered 2016-09-11 20:20:20

3

我建議您查看unoconv爲您的初始轉換,這使用LibreOffice或OpenOffice的實際轉換。這增加了一些開銷。

我最好安裝幾個工人與所有的生活必需品的設置,並使用請求/響應隊列用於處理轉換...(可能要考慮kue或)

一般來說,這是一個應該被卸載的CPU限制和繁重的任務...... Pandoc和其他人特別提到.docx,而不是.doc,因此它們可能也可能不是選項。


注:我知道這個問題是舊的,只是想爲別人提供過這個即將到來的電流答案。

2

爲了解析PDF文件,您可以使用pdf2json節點模塊

它允許你轉換PDF文件,以JSON和原始文本數據。

2

如果您只需要從Word文檔進行轉換,另一個不錯的選擇是Mammoth.js

猛獁是設計來轉換的.docx文檔,如Microsoft Word創建 ,並將其轉換爲HTML。猛獁象旨在通過使用文檔中的語義信息生成簡單且乾淨的HTML ,並忽略其他細節。例如,猛獁象將任何 段落的樣式標題1轉換爲h1元素,而不是 試圖完全複製標題的樣式(字體,文本大小,顏色等) 。

.docx所使用的結構與HTML結構之間存在很大的不匹配,這意味着轉換不太可能是對於更復雜的文檔而言完美的 。如果只有 使用樣式在語義上標記文檔,則猛獁象效果最佳。

2

您可以使用PDF文件的pdf文件。它會將文本從pdf中提取到文本「塊」的數組中。用於對結構化pdf文本進行模糊分析。

var pdfText = require('pdf-text') 
var pathToPdf = __dirname + "/info.pdf" 


pdfText(pathToPdf, function(err, chunks) { 
    //chunks is an array of strings 
    //loosely corresponding to text objects within the pdf 
    //for a more concrete example, view the test file in this repo 
}) 

var fs = require('fs') 
var buffer = fs.readFileSync(pathToPdf) 
pdfText(buffer, function(err, chunks) { 
console.log(chunks) 
}) 

對於docx文件你可以使用猛獁象,它會從.docx文件中提取文本。

var mammoth = require("mammoth"); 

mammoth.extractRawText({path: "./doc.docx"}) 
    .then(function(result){ 
     var text = result.value; // The raw text 
     console.log(text); 
     var messages = result.messages; 
    }) 
    .done(); 

我希望這會有所幫助。

0

這裏是展示瞭如何下載和使用PDF.js提取從PDF文本的示例:

import _ from 'lodash'; 
import superagent from 'superagent'; 
import pdf from 'pdfjs-dist'; 

const url = 'http://unec.edu.az/application/uploads/2014/12/pdf-sample.pdf'; 

const main = async() => { 
    const response = await superagent.get(url).buffer(); 
    const data = response.body; 
    const doc = await pdf.getDocument({ data }); 
    for (const i of _.range(doc.numPages)) { 
    const page = await doc.getPage(i + 1); 
    const content = await page.getTextContent(); 
    for (const { str } of content.items) { 
     console.log(str); 
    } 
    } 
}; 

main().catch(error => console.error(error)); 
相關問題