vue PDF或Word转换为HTML并保留原有样式

这篇具有很好参考价值的文章主要介绍了vue PDF或Word转换为HTML并保留原有样式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一

要将PDF或Word转换为HTML并保留原有样式,可以使用pdfjs-dist和mammoth.js这两个库。首先需要安装这两个库:

npm install pdfjs-dist mammoth.js

然后在Vue项目中使用这两个库进行转换:

import * as pdfjsLib from 'pdfjs-dist';
import { convertToHtml } from 'mammoth';

export default {
  methods: {
    async convertFileToHtml(file) {
      const fileType = file.type.split('/')[1];
      const fileExtension = fileType === 'pdf' ? '.pdf' : '.docx';

      // 将文件转换为Blob对象
      const fileReader = new FileReader();
      fileReader.onload = (event) => {
        const arrayBuffer = event.target.result;
        const byteArray = new Uint8Array(arrayBuffer);
        const blob = new Blob([byteArray], { type: fileType + fileExtension });

        if (fileType === 'pdf') {
          // 使用pdfjsLib将PDF转换为HTML
          const pdfData = await pdfjsLib.getDocument(blob).promise;
          const pageNumber = 1;
          const scale = 1;
          const viewport = pageNumber * scale;
          const canvas = document.createElement('canvas');
          const context = canvas.getContext('2d');
          canvas.width = pdfData.internal.pageSize.getWidth() * scale;
          canvas.height = pdfData.internal.pageSize.getHeight() * scale;
          const renderContext = {
            canvasContext: context,
            viewport: viewport,
          };
          const renderTask = pdfData.getPage(pageNumber).render(renderContext);
          await renderTask.promise;
          const base64Image = canvas.toDataURL('image/png');

          // 将base64Image转换为HTML
          const htmlContent = `<img src="${base64Image}" />`;
          return htmlContent;
        } else if (fileType === 'docx') {
          // 使用mammoth将Word转换为HTML
          const htmlContent = await convertToHtml(blob, { format: 'html' });
          return htmlContent;
        }
      };
      fileReader.readAsArrayBuffer(blob);
    },
  },
};

在Vue模板中使用这个方法:

<template>
  <div>
    <input type="file" @change="handleFileChange" />
  </div>
</template>

<script>
import convertFileToHtml from '@/utils/convertFileToHtml';

export default {
  methods: {
    ...convertFileToHtml(),
  },
};
</script>

方法二

要实现在Vue中复制Word文档并还原样式,可以使用mammoth.js库将Word文档转换为HTML,然后使用html-to-paper库将HTML内容呈现为可打印的PDF。以下是实现此功能的步骤:

1.安装依赖库:

npm install mammoth html-to-paper

2.在Vue组件中引入依赖库:

import * as mammoth from 'mammoth';
import htmlToPaper from 'html-to-paper';

3.创建一个方法来处理Word文档的上传和预览:

methods: {
  async handleWordUpload(event) {
    const file = event.target.files[0];
    if (!file) {
      return;
    }

    // 将Word文档转换为HTML
    const result = await mammoth.convertToHtml({ arrayBuffer: file });
    const htmlContent = result.value;

    // 将HTML内容呈现为可打印的PDF
    const printElement = document.createElement('div');
    printElement.innerHTML = htmlContent;
    htmlToPaper(printElement);
  },
},

4.在Vue模板中添加一个文件输入框和预览按钮:文章来源地址https://www.toymoban.com/news/detail-681047.html

<template>
  <div>
    <input type="file" @change="handleWordUpload" />
    <button>预览</button>
  </div>
</template>

到了这里,关于vue PDF或Word转换为HTML并保留原有样式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PDF如何转换成Word?PDF转Word方法分享!​

    PDF大家都不陌生了吧?作为打工人,学生党的大家都知道,PDF是现在不可或缺的文件传输工具之一,不仅可将文档转为Word,还可以转成excel,ppt等各种形式,其重要性不言而喻,那么今天小编就跟大家具体说说PDF转格式中的Word应该怎么转​ 方法一:复制粘贴​ 我们将在PDF编辑

    2024年02月11日
    浏览(67)
  • 在线Word怎么转换成PDF?Word无法转换成PDF文档原因分析

    不同的文件格式使用方法是不一样的,而且也需要使用不同的工具才可以打开编辑内容,针对不同的场合用户们难免会用到各种各样的文件格式,要想在不修改内容的前提下提高工作效率,那就需要用到文件格式转换,那么在线Word怎么转换成PDF?接下来小编就为大家介绍一下

    2024年02月13日
    浏览(62)
  • 前端(vue)js在线预览PDF、Word、Excel、ppt等office文件

    可选参数 pdf=true,word文档尝试以pdf方式显示,默认false watermark=水印文本,显示文本水印;“img:”+图片url表示图片水印,如:img:https://view.xdocin.com/demo/wm.png saveable=true,是否允许保存源文件,默认false printable=false,是否允许打印,默认true ©able=false,是否允许选择复制内容,

    2024年02月13日
    浏览(76)
  • Java实现Word文档转PDF,PDF转Word,PDF转Excel,PDF转换工具

    java实现word文档转PDF,PDF转word 解决只能转换4页问题 解决每页头部存在水印问题 引入依赖 破解的jar包 链接: https://pan.baidu.com/s/1MO8OBuf4FQ937R9KDtofPQ 提取码: 4tsn 源码路径:https://download.csdn.net/download/weixin_43992507/88215577 像流读取文件这些要关闭释放,不然异常报错文件的读取不会

    2024年02月13日
    浏览(55)
  • PDF怎么转Word?8 个最佳 PDF 转 Word 转换器

    PDF 转 Word 转换工具只是一个特殊程序,可以将 PDF(本机和/或扫描)转换为 Microsoft Office Word 格式。将 PDF 导出到 Word 的主要原因之一是满足可编辑文档的需求,尽管还有其他原因。 由于缺少 PDF 阅读器,您可以选择将 PDF 保存为 DOC 或 DOCX、提取特定文本数据、支持盲人屏幕阅

    2024年02月12日
    浏览(56)
  • 如何使用Word转PDF转换器在线工具?在线Word转PDF使用方法

    Word转PDF转换器在线,是一种方便快捷的工具,可帮助您在不需要下载任何软件的情况下完成此任务。无论您是需要在工作中共享文档,还是将文件以PDF格式保存以确保格式不变,都可以依靠这款在线工具轻松完成转换。那么如何使用Word转PDF转换器在线工具呢? 如何使用Word转

    2024年02月14日
    浏览(57)
  • 电脑pdf如何转换成word格式?用它实现pdf文件一键转换

    pdf转word格式可以用于提取和重用pdf文档中的内容,有时候,我们可能需要引用或引用pdf文档中的一些段落、表格或数据,通过将pdf转换为可编辑的Word文档,可以轻松地复制和粘贴所需内容,节省我们的时间,那么如何进行pdf转word呢?市面上许多的pdf转换器对于大多数人来说

    2024年01月21日
    浏览(48)
  • Java将Word转换成PDF

    最近项目需要做在线预览文档功能,要求对word文档后台转为pdf,遇到了很多问题,因此记录一下。 网上有很多将Word转换成PDF的方式,这里我试了几种比较简单的方式:POI、aspose、spire和documents4j。 POI是Apache下的一个Java类库,可以帮助我们实现Java与各种Office格式文件的互相转

    2024年02月08日
    浏览(40)
  • Word转PDF在线转换如何操作?分享转换技巧

    现如今,pdf转换器已成为大家日常办公学习必不可少的工具,市场上的pdf转换器主要有两种类型,一种是需要下载安装的,另一种是网页版,打开就可以使用的,今天小编给大家推荐一个非常好用的网页版pdf转换器,此外,我们再来看看Word转PDF在线转换如何操作? Word转PDF在线

    2024年02月13日
    浏览(52)
  • 使用Python将word转换为pdf

    使用Python可以将多个word文件一起转为pdf,操作比较便捷,可以实现自动化办公。 代码如下: 运行结果: 欢迎大家查看作者的主页,主页中还有关于编程与算法方面的更多内容,欢迎大家相互沟通学习。

    2024年02月15日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包