2012-01-27 331 views

Respuesta

8

Usted puede convertir fácilmente uno en otro, o utilizar, por ejemplo, una .doc plantilla para generar un archivo .pdf, pero es probable que desee utilizar un servicio web existente para esta tarea.

Esto se puede hacer uso de los servicios de Livedocx por ejemplo

Para utilizar este servicio desde el nodo, consulte node-livedocx (exención de responsabilidad: yo soy el autor de este módulo nodo)

+0

bien, esto es apretado hijo. Bien hecho. – Alan

7

Parece que hay algunos para el pdf, pero no encontré ninguno para Word.

El procesamiento vinculado a la CPU como ese no es en realidad el punto fuerte de ningún nodo (es decir, no obtiene beneficios adicionales al usar el nodo para hacerlo en ningún otro idioma). Un enfoque pragmático sería encontrar una buena herramienta y utilizarla desde Node.

he oído cosas buenas alrededor de la oficina sobre docsplit http://documentcloud.github.com/docsplit/

Si bien no es Nodo, fácilmente se podría invocarla desde el Nodo con http://nodejs.org/docs/latest/api/all.html#child_process.exec

+0

La ventaja de una solución JS puro es que es portátil entre el navegador y el Nodo – sdgfsdh

11

textract es un gran lib que admite archivos PDF, Doc, Docx, etc.

+1

Nota: textract usa catdoc para archivos '.doc' y no funciona en windows. – Tracker1

+1

node-office no está en desarrollo activo (npm dice fin de vida), hwile textract se está desarrollando activamente a partir de septiembre de 2016. – steampowered

3

Sugeriría mirar en unoconv para su conversión inicial, esto usa LibreOffice u OpenOffice para la conversión real. Lo cual agrega un poco de sobrecarga.

configuración que había unos pocos trabajadores con toda la disposición sido necesario, y utilizar una cola de petición/respuesta para el manejo de la conversión ... (puede que desee ver en kue o)

En general se trata de una CPU atada y tarea pesada que debe ser descargada ... Pandoc y otros mencionan específicamente .docx, no .doc por lo que pueden o no ser opciones también.


Nota: Sé que esta pregunta es antigua, solo quería dar una respuesta actual para los demás que se encuentran con esto.

2

Para analizar archivos PDF Puede utilizar el módulo pdf2json nodo

Se le permite convertir archivos PDF a JSON, así como a los datos de texto primas.

2

Otra buena opción si solo necesita convertir documentos de Word es Mammoth.js.

Mammoth está diseñado para convertir documentos .docx, como los creados por Microsoft Word, y convertirlos a HTML. Mammoth tiene como objetivo producir HTML simple y limpio mediante el uso de información semántica en el documento, e ignorando otros detalles. Por ejemplo, Mammoth convierte cualquier párrafo con el estilo Encabezado 1 a elementos h1, en lugar de intentando copiar exactamente el estilo (fuente, tamaño de texto, color, etc.) del encabezado.

Hay una gran falta de coincidencia entre la estructura utilizada por .docx y la estructura de HTML, lo que significa que la conversión es poco probable que sea perfecta para documentos más complicados. Mammoth funciona mejor si solo usa estilos para marcar semánticamente su documento.

2

puede usar pdf-text para archivos pdf. extraerá texto de un pdf en una matriz de 'fragmentos' de texto. Útil para hacer un análisis difuso en texto pdf estructurado.

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) 
}) 

para archivos docx se pueden utilizar de mamut, que permite extraer el texto de los archivos .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(); 

Espero que esto ayude.

0

Aquí es un ejemplo que muestra cómo descargar y extraer el texto de un PDF utilizando PDF.js:

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)); 
Cuestiones relacionadas