
在网络应用程序中处理文档时,将 PDF 文件无缝转换为 Word 文档的能力是一项宝贵的资产。对于文档转换器和编辑器等各种应用程序来说,从编辑和协作到内容提取,这项任务不仅常见,而且必不可少。在本文中,我们将探讨如何用 JavaScript 将 PDF 文件转换为 Word DOC/DOCX 文档。
JavaScript PDF 到 Word 转换器
用 JavaScript 将 PDF 转换为 DOC
用 JavaScript 将 PDF 转换为 DOCX
将 PDF 转换为 Word 的 JavaScript 库
在 JavaScript 中将 PDF 转换为 Word 文档时,我们将使用 Aspose.PDF for JavaScript。这是一个综合性库,可帮助开发人员以编程方式处理 PDF 的生成、操作、编辑和转换。该库易于使用,可无缝集成到 JavaScript 应用程序中,是执行 PDF 相关任务的理想选择。
用 JavaScript 将 PDF 转换为 Word DOC
使用 Aspose.PDF,您不必经历复杂的 PDF 到 Word 的转换过程。只需加载 PDF 文件并将其保存为 Word 格式即可。不过,我们会将资源密集型的 PDF 到 DOC 转换任务卸载到 Web Worker,以防止阻塞主用户界面线程。这样就能确保在网络应用程序中以用户友好的方式下载转换后的 Word 文档。
以下是在 JavaScript 中将 PDF 转换为 DOC 所需的步骤。
创建 Web Worker,如以下代码片段所示。
/*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;
}按照以下步骤编写将 PDF 转换为 DOC 的代码。
首先,选择要转换的 PDF 文件。
然后,创建一个新的 FileReader 对象。
调用 AsposePdfToDoc 函数,将 PDF 转换为 Word 格式。该函数还接受转换后 Word 文件的名称。
接下来,如果 json.errorCode 为 0,那么生成的 Word 文件将使用您之前指定的名称。否则,文件将出现错误,错误信息将记录在 json.errorText 文件中。
最后,DownloadFile 函数会生成一个链接,用于下载转换后的 Word 文件。
以下是用 JavaScript 将 PDF 转换为 Word DOC 格式的代码片段。
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]);
}用 JavaScript 将 PDF 转换为 DOCX
如果您需要将 PDF 转换为 DOCX 格式,只需稍作修改,就能将 Word 文档转换为 DOCX 格式。因此,让我们用 JavaScript 将 PDF 转换为 DOCX 文档。
使用下面的代码片段创建 Web Worker。
/*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]);
};
/// [Code snippet]
/*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;
}现在,编写将 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]);
}获取免费 JavaScript PDF 库
您可以获得免费的临时许可证,并不受任何限制地使用 JavaScript PDF 库。
结论
在本文中,我们探讨了使用 JavaScript 将 PDF 文件转换为 Word 文档的过程。本文中提供的步骤和代码片段简化了 JavaScript 应用程序中 PDF 到 DOC 和 PDF 到 DOCX 的转换过程。Aspose.PDF 凭借其直接的集成和强大的功能简化了文档操作任务,使开发人员能够通过高效的 PDF 到 Word 转换增强其应用程序。
当您继续探索 Aspose.PDF for JavaScript 的功能时,您会发现其丰富的功能可增强您的文档管理解决方案。让我们了解您使用 Aspose.PDF 的经验,或联系我们分享您的疑问。
渝公网安备50010702505508