Конвертируйте PDF в Word с помощью JavaScript

При обработке документов в веб-приложении ценным преимуществом является возможность плавного преобразования PDF-файлов в документы Word. Эта задача не только распространена, но и важна для различных приложений, таких как конвертеры и редакторы документов, от редактирования и совместной работы до извлечения контента. В этой записи блога мы рассмотрим, как преобразовать PDF-файл в документ Word DOC/DOCX с помощью JavaScript.

Библиотека JavaScript для преобразования PDF в Word

Для преобразования документов PDF в Word в JavaScript мы будем использовать Aspose.PDF for JavaScript. Это комплексная библиотека, которая позволяет разработчикам программно создавать, манипулировать, редактировать и конвертировать PDF-файлы. Библиотека проста в использовании и легко интегрируется в приложения JavaScript, что делает ее идеальным выбором для задач, связанных с PDF.

Загрузите библиотеку и следуйте инструкциям по установке, представленным здесь: Установить Aspose.PDF for JavaScript.

Преобразование PDF в Word DOC с помощью JavaScript

С Aspose.PDF вам не придется проходить сложный процесс преобразования PDF в Word. Просто загрузите PDF-файл и сохраните его в формате Word. Однако мы переложим ресурсоемкую задачу преобразования PDF в DOC веб-работнику, чтобы предотвратить блокировку основного потока пользовательского интерфейса. Это обеспечивает удобный способ загрузки преобразованного документа Word в веб-приложение.

Ниже приведены шаги, которые необходимо выполнить для преобразования PDF в DOC в JavaScript.

  1. Создайте веб-работника, как показано в следующем фрагменте кода.
/*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. Напишите код для преобразования PDF в DOC, выполнив следующие шаги.
  • Сначала выберите PDF-файл, который вы хотите конвертировать.
  • Затем создайте новый объект FileReader.
  • Вызовите функцию AsposePdfToDoc, которая преобразует PDF в формат Word. Эта функция также принимает имя преобразованного файла Word.
  • Далее, если json.errorCode равен 0, результирующему файлу Word будет присвоено имя, указанное вами ранее. В противном случае в вашем файле будет ошибка, и сообщение об ошибке будет зарегистрировано в файле json.errorText.
  • Наконец, функция DownloadFile генерирует ссылку для загрузки преобразованного файла Word.

Ниже приведен фрагмент кода для преобразования PDF в формат Word DOC с помощью 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]);
}

Конвертируйте PDF в DOCX в JavaScript

Если вам нужно преобразовать PDF в формат DOCX, вы можете сделать это, выполнив тот же процесс с небольшими изменениями, чтобы получить документ Word в формате DOCX. Итак, давайте преобразуем PDF в документ DOCX с помощью JavaScript.

  1. Создайте веб-работника, используя приведенный ниже фрагмент кода.
/*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]);
};
/// [фрагмент кода]

/*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. Теперь напишите код для преобразования PDF в DOCX. Здесь вы будете использовать метод AsposePdfToDocX вместо 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]);
}

Получите бесплатную PDF-библиотеку JavaScript

Вы можете получить бесплатную временную лицензию и использовать эту библиотеку JavaScript PDF без каких-либо ограничений.

Заключение

В этом сообщении блога мы рассмотрели процесс преобразования PDF-файлов в документы Word с помощью JavaScript. Шаги и фрагменты кода, представленные в этой записи блога, упрощают преобразование PDF в DOC и PDF в DOCX в приложениях JavaScript. Благодаря простой интеграции и мощным возможностям Aspose.PDF упрощает задачи манипулирования документами, позволяя разработчикам расширять свои приложения за счет эффективного преобразования PDF в Word.

Продолжая исследовать возможности Aspose.PDF for JavaScript, вы откроете для себя множество функций, позволяющих улучшить ваши решения по управлению документами. Сообщите нам о своем опыте работы с Aspose.PDF или поделитесь своими вопросами на нашем форуме.