Convertir PDF a Word en JavaScript

Al procesar documentos en una aplicación web, la capacidad de convertir sin problemas archivos PDF a documentos de Word es un activo valioso. Esta tarea no sólo es común sino también esencial para diversas aplicaciones, como convertidores y editores de documentos, desde la edición y la colaboración hasta la extracción de contenido. En esta publicación de blog, exploraremos cómo convertir un archivo PDF a un documento Word DOC/DOCX en JavaScript.

Biblioteca JavaScript para convertir PDF a Word

Para la conversión de documentos de PDF a Word en JavaScript, utilizaremos Aspose.PDF for JavaScript. Es una biblioteca completa que permite a los desarrolladores trabajar con la generación, manipulación, edición y conversión de PDF mediante programación. La biblioteca está diseñada para ser fácil de usar y se integra perfectamente en aplicaciones JavaScript, lo que la convierte en una opción ideal para tareas relacionadas con PDF.

Descargue la biblioteca y siga las instrucciones de instalación que se proporcionan aquí: Instalar Aspose.PDF for JavaScript.

Convertir un PDF a Word DOC en JavaScript

Con Aspose.PDF, no tiene que pasar por el complejo proceso de conversión de PDF a Word. Simplemente cargue el archivo PDF y guárdelo en formato Word. Sin embargo, descargaremos la tarea de conversión de PDF a DOC que consume muchos recursos a un trabajador web para evitar el bloqueo del hilo principal de la interfaz de usuario. Esto garantiza una forma fácil de descargar el documento de Word convertido en una aplicación web.

Los siguientes son los pasos que debe seguir para la conversión de PDF a DOC en JavaScript.

  1. Cree un trabajador web, como se demuestra en el siguiente fragmento de código.
/*Create Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent = 
  (evt.data == 'ready') ? 'loaded!' :
    (evt.data.json.errorCode == 0) ? `Result:\n${DownloadFile(evt.data.json.fileNameResult, "application/msword", evt.data.params[0])}` : `Error: ${evt.data.json.errorText}`;

/*Event handler*/
const ffileToDoc = e => {
  const file_reader = new FileReader();
  file_reader.onload = event => {
    /*Convert a PDF-file to Doc and save the "ResultPDFtoDoc.doc" - Ask Web Worker*/
    AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfToDoc', "params": [event.target.result, e.target.files[0].name, "ResultPDFtoDoc.doc"] }, [event.target.result]);
  };
  file_reader.readAsArrayBuffer(e.target.files[0]);
};

/*Make a link to download the result file*/
const DownloadFile = (filename, mime, content) => {
    mime = mime || "application/octet-stream";
    var link = document.createElement("a"); 
    link.href = URL.createObjectURL(new Blob([content], {type: mime}));
    link.download = filename;
    link.innerHTML = "Click here to download the file " + filename;
    document.body.appendChild(link); 
    document.body.appendChild(document.createElement("br"));
    return filename;
  }
  1. Escriba el código para convertir PDF a DOC siguiendo los pasos a continuación.
  • Primero, seleccione un archivo PDF que desee convertir.
  • Luego, cree un nuevo objeto FileReader.
  • Llame a la función AsposePdfToDoc que convierte PDF a formato Word. Esta función también acepta el nombre del archivo de Word convertido.
  • A continuación, si json.errorCode es 0, el archivo de Word resultante recibirá el nombre que especificó anteriormente. De lo contrario, habrá un error en su archivo y el mensaje de error se registrará en el archivo json.errorText.
  • Finalmente, la función DownloadFile genera un enlace para descargar el archivo de Word convertido.

A continuación se muestra el fragmento de código para convertir un PDF a formato Word DOC en JavaScript.

var ffileToDoc = function (e) {
  const file_reader = new FileReader();
  file_reader.onload = (event) => {
    /*Convert a PDF-file to Doc and save the "ResultPDFtoDoc.doc"*/
    const json = AsposePdfToDoc(event.target.result, e.target.files[0].name, "ResultPDFtoDoc.doc");
    if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
    else document.getElementById('output').textContent = json.errorText;
    /*Make a link to download the result file*/
    DownloadFile(json.fileNameResult, "application/msword");
  }
  file_reader.readAsArrayBuffer(e.target.files[0]);
}

Convertir PDF a DOCX en JavaScript

En caso de que necesites convertir tu PDF a formato DOCX, puedes hacerlo siguiendo el mismo proceso con pequeños cambios para obtener el documento de Word como DOCX. Entonces, conviertamos un PDF a un documento DOCX en JavaScript.

  1. Cree el trabajador web utilizando el fragmento de código siguiente.
/*Create Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent = 
  (evt.data == 'ready') ? 'loaded!' :
    (evt.data.json.errorCode == 0) ? `Result:\n${DownloadFile(evt.data.json.fileNameResult, "application/vnd.openxmlformats-officedocument.wordprocessingml.document", evt.data.params[0])}` : `Error: ${evt.data.json.errorText}`;

/*Event handler*/
const ffileToDocX = e => {
  const file_reader = new FileReader();
  file_reader.onload = event => {
    /*convert a PDF-file to DocX and save the "ResultPDFtoDocX.docx" - Ask Web Worker*/
    AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfToDocX', "params": [event.target.result, e.target.files[0].name, "ResultPDFtoDocX.docx"] }, [event.target.result]);
  };
  file_reader.readAsArrayBuffer(e.target.files[0]);
};
/// [Fragmento de código]

/*make a link to download the result file*/
const DownloadFile = (filename, mime, content) => {
    mime = mime || "application/octet-stream";
    var link = document.createElement("a"); 
    link.href = URL.createObjectURL(new Blob([content], {type: mime}));
    link.download = filename;
    link.innerHTML = "Click here to download the file " + filename;
    document.body.appendChild(link); 
    document.body.appendChild(document.createElement("br"));
    return filename;
  }
  1. Ahora, escribe el código para convertir PDF a DOCX. Aquí, utilizará el método AsposePdfToDocX en lugar de AsposePdfToDoc.
var ffileToDocX = function (e) {
  const file_reader = new FileReader();
  file_reader.onload = (event) => {
    /*convert a PDF-file to DocX and save the "ResultPDFtoDocX.docx"*/
    const json = AsposePdfToDocX(event.target.result, e.target.files[0].name, "ResultPDFtoDocX.docx");
    if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
    else document.getElementById('output').textContent = json.errorText;
    /*make a link to download the result file*/
    DownloadFile(json.fileNameResult, "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
  }
  file_reader.readAsArrayBuffer(e.target.files[0]);
}

Obtenga una biblioteca PDF de JavaScript gratuita

Puede obtener una licencia temporal gratuita y utilizar esta biblioteca PDF de JavaScript sin ninguna limitación.

Conclusión

En esta publicación de blog, exploramos el proceso de convertir archivos PDF a documentos de Word usando JavaScript. Los pasos y fragmentos de código proporcionados en esta publicación de blog agilizan las conversiones de PDF a DOC y de PDF a DOCX en aplicaciones JavaScript. Con su sencilla integración y potentes capacidades, Aspose.PDF simplifica las tareas de manipulación de documentos, lo que permite a los desarrolladores mejorar sus aplicaciones con una conversión eficiente de PDF a Word.

A medida que continúe explorar las capacidades de Aspose.PDF for JavaScript, descubrirá una gran cantidad de funciones para mejorar sus soluciones de administración de documentos. Cuéntanos tu experiencia con Aspose.PDF o comparte tus consultas a través de nuestro foro.