Chuyển đổi PDF sang Word bằng JavaScript

Trong khi xử lý tài liệu trong ứng dụng web, khả năng chuyển đổi liền mạch các tệp PDF thành tài liệu Word là một tài sản quý giá. Tác vụ này không chỉ phổ biến mà còn cần thiết cho nhiều ứng dụng khác nhau, chẳng hạn như trình chỉnh sửa và chuyển đổi tài liệu, từ chỉnh sửa và cộng tác đến trích xuất nội dung. Trong bài đăng trên blog này, chúng ta sẽ khám phá cách chuyển đổi tệp PDF thành tài liệu Word DOC/DOCX bằng JavaScript.

Thư viện JavaScript để chuyển đổi PDF sang Word

Để chuyển đổi tài liệu PDF sang Word bằng JavaScript, chúng tôi sẽ sử dụng Aspose.PDF for JavaScript. Đây là một thư viện toàn diện cho phép các nhà phát triển làm việc với việc tạo, thao tác, chỉnh sửa và chuyển đổi PDF theo chương trình. Thư viện được thiết kế để dễ sử dụng và tích hợp hoàn toàn vào các ứng dụng JavaScript, khiến nó trở thành lựa chọn lý tưởng cho các tác vụ liên quan đến PDF.

Tải xuống thư viện và làm theo hướng dẫn cài đặt được cung cấp tại đây: Cài đặt Aspose.PDF for JavaScript.

Chuyển đổi PDF sang Word DOC bằng JavaScript

Với Aspose.PDF, bạn không phải thực hiện quá trình chuyển đổi PDF sang Word phức tạp. Chỉ cần tải tệp PDF và lưu nó ở định dạng Word. Tuy nhiên, chúng tôi sẽ chuyển tác vụ chuyển đổi PDF sang DOC tiêu tốn tài nguyên sang nhân viên web để tránh chặn luồng giao diện người dùng chính. Điều này đảm bảo cách tải xuống tài liệu Word đã chuyển đổi trong ứng dụng web một cách thân thiện với người dùng.

Sau đây là các bước bạn cần thực hiện để chuyển đổi PDF sang DOC bằng JavaScript.

  1. Tạo một nhân viên web, như được minh họa trong đoạn mã sau.
/*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. Viết mã để chuyển đổi PDF sang DOC bằng cách thực hiện theo các bước dưới đây.
  • Đầu tiên, chọn tệp PDF mà bạn muốn chuyển đổi.
  • Sau đó, tạo một đối tượng FileReader mới.
  • Gọi hàm AsposePdfToDoc để chuyển đổi định dạng PDF sang Word. Chức năng này cũng chấp nhận tên file Word đã chuyển đổi.
  • Tiếp theo, nếu json.errorCode bằng 0 thì tệp Word kết quả sẽ được đặt tên mà bạn đã chỉ định trước đó. Nếu không, sẽ có lỗi trong tệp của bạn và thông báo lỗi sẽ được ghi vào tệp json.errorText.
  • Cuối cùng, hàm DownloadFile tạo liên kết để tải xuống tệp Word đã chuyển đổi.

Dưới đây là đoạn mã để chuyển đổi định dạng PDF sang Word DOC bằng 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]);
}

Chuyển đổi PDF sang DOCX bằng JavaScript

Trong trường hợp bạn cần chuyển đổi định dạng PDF sang DOCX, bạn có thể thực hiện theo quy trình tương tự với những thay đổi nhỏ để có được tài liệu Word dưới dạng DOCX. Vì vậy, hãy chuyển đổi PDF thành tài liệu DOCX bằng JavaScript.

  1. Tạo nhân viên web bằng đoạn mã bên dưới.
/*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]);
};
/// [Đoạn mã]

/*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. Bây giờ, hãy viết mã để chuyển đổi PDF sang DOCX. Tại đây, bạn sẽ sử dụng phương thức AsposePdfToDocX thay vì 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]);
}

Nhận thư viện PDF JavaScript miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí và sử dụng thư viện JavaScript PDF này mà không có bất kỳ hạn chế nào.

Phần kết luận

Trong bài đăng trên blog này, chúng tôi đã khám phá quá trình chuyển đổi tệp PDF sang tài liệu Word bằng JavaScript. Các bước và đoạn mã được cung cấp trong bài đăng trên blog này sẽ hợp lý hóa quá trình chuyển đổi PDF sang DOC và PDF sang DOCX trong các ứng dụng JavaScript. Với khả năng tích hợp đơn giản và khả năng mạnh mẽ, Aspose.PDF đơn giản hóa các tác vụ thao tác tài liệu, cho phép các nhà phát triển nâng cao ứng dụng của họ bằng cách chuyển đổi PDF sang Word hiệu quả.

Khi tiếp tục khám phá các khả năng của Aspose.PDF dành cho JavaScript, bạn sẽ khám phá vô số tính năng để nâng cao các giải pháp quản lý tài liệu của mình. Hãy cho chúng tôi biết về trải nghiệm của bạn với Aspose.PDF hoặc chia sẻ thắc mắc của bạn qua diễn đàn của chúng tôi.