0

我可以blob使用以下模块创建类型的 docx 文件docxtemplater,然后让用户可以下载 docx 文件。

这样:

var zip = new PizZip(content);
var doc = new Docxtemplater().loadZip(zip);
...
var out = doc.getZip().generate({
        type: "blob",
        mimeType:
          "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
});
saveAs(out, "output.docx");

但是,我想做的是让用户在创建过程中可以在浏览器上查看 docx 文件。

我想我会做这样的事情来创建一个 url blob: const objectURL = URL.createObjectURL(out);

但我找不到能够查看 docx 文件的方法。

如果有允许它的模块,你能给我一些建议吗?

我尝试使用react-doc-viewer,但它不适用于 blob 文件。

4

1 回答 1

0

我认为 react-doc-viewer 需要将 docx 文件上传到服务器,然后您可以使用例如:

在这种情况下,我认为 react-doc-viewer 不会与 url 以外的东西一起使用。

import DocViewer from "react-doc-viewer";

function App() {
  const docs = [
    { uri: "https://my-website.com/uploaded-file.docx" },
  ];

  return <DocViewer documents={docs} />;
}

我在这里发现:https ://github.com/Alcumus/react-doc-viewer/blob/master/src/plugins/msdoc/index.tsx

他们的代码实际上是在使用 iframe :

<IFrame
   id="msdoc-iframe"
   title="msdoc-iframe"
   src={`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(
       currentDocument.uri
   )}`}
   frameBorder="0"
/>
于 2021-06-18T08:55:15.303 回答