在金融行业,xhEditor如何通过插件实现WORD文档的快速导入和编辑?

(搓手手)各位老铁们,今天咱们来整点硬核的!作为一个正在用xhEditor魔改CMS的准程序员,我给大家整了一套"Word图片一键转存"的骚操作方案,保证让你在编辑器里粘贴Word文档时,图片自动上天(阿里云OSS),公式还能在手机上清晰显示!

前端骚操作(Vue3 + xhEditor)

先在编辑器工具栏加个按钮,咱们直接上代码:





import { ref } from 'vue';

const editor = ref(null);
const editorConfig = {
  // xhEditor配置项...
  toolbar: [...defaultToolbar, 'wordpaste']
};

// 粘贴事件处理
const handlePaste = async (e) => {
  const clipboardData = e.clipboardData || window.clipboardData;
  const items = clipboardData.items;
  
  // 遍历粘贴内容
  for (let i = 0; i < items.length; i++) {
    const item = items[i];
    if (item.type.indexOf('image') !== -1) {
      const blob = item.getAsFile();
      const formData = new FormData();
      formData.append('file', blob);
      
      // 调用后端上传接口
      const res = await axios.post('/api/upload', formData);
      editor.value.insertImage(res.data.url);
    }
  }
};

// Word导入功能
const importWord = async () => {
  const file = document.createElement('input');
  file.type = 'file';
  file.accept = '.docx';
  file.onchange = async (e) => {
    const file = e.target.files[0];
    const formData = new FormData();
    formData.append('file', file);
    
    // 调用后端解析接口
    const res = await axios.post('/api/parse-word', formData);
    editor.value.setContent(res.data.html);
  };
  file.click();
};

后端接招(PHP + OSS)

putObject($ossClient->getBucket(), $object, fopen($file['tmp_name'], 'r'));
    echo json_encode(['url' => $ossClient->getSignUrl($bucket, $object)]);
} catch (Exception $e) {
    http_response_code(500);
    echo json_encode(['error' => $e->getMessage()]);
}

// Word解析接口
$file = $_FILES['file'];
$phpWord = IOFactory::load($file['tmp_name']);
$html = $phpWord->getHtml();

// 处理Latex公式
preg_match_all('/\\$(.*?)\\$/', $html, $matches);
foreach ($matches[1] as $latex) {
    $mathml = convertLatexToMathML($latex);
    $html = str_replace('$'.$latex.'$', $mathml, $html);
}

echo json_encode(['html' => $html]);

薅羊毛指南(预算99元版)

  1. 前端插件:直接用xhEditor的扩展包(免费)
  2. 后端组件
    • PhpOffice/PhpWord(开源)
    • Aliyun OSS SDK(免费)
    • MathJax Node(转换公式)
  3. 云存储:阿里云OSS学生套餐(首年9元)

群内福利(QQ群:223813913)

现在进群直接送:

  • 🔥 编辑器插件源码(价值299元)
  • 💸 推广提成20%(躺着赚钱)
  • 🎁 黄金会员50%分成(日入过万不是梦)

(突然正经)最后说句心里话,咱们技术人还是要脚踏实地。这个插件我已经在GitHub开源(搜索"xhEditor-wordpaste"),欢迎各位大佬提PR。找工作的小伙伴可以内推我们实验室,最近在招Java/前端开发,薪资15k起~

将插件目录复制到项目中

image

引入插件文件

image

定义插件图标

image

初始化插件

在工具栏中添加插件按钮
image

效果

编辑器

编辑器

导入Word文档,支持doc,docx

粘贴Word和图片

导入Excel文档,支持xls,xlsx

粘贴Word和图片

粘贴Word

一键粘贴Word内容,自动上传Word中的图片,保留文字样式。
粘贴Word和图片

Word转图片

一键导入Word文件,并将Word文件转换成图片上传到服务器中。
导入Word转图片

导入PDF

一键导入PDF文件,并将PDF转换成图片上传到服务器中。
导入PDF转图片

导入PPT

一键导入PPT文件,并将PPT转换成图片上传到服务器中。
导入PPT转图片

上传网络图片

一键自动上传网络图片,自动下载远程服务器图片,自动上传远程服务器图片
自动上传网络图片

下载示例

点击下载完整示例

系统基于PyTorch框架,支持UNetDeepLabV3两种主流分割网络,实现了端到端的训练流程性能评估。train.py是系统的核心执行文件,负责整个训练流程的协调。它首先通过参数解析器接收用户配置,包括模型类型、训练参数(批次大小、学习率、epoch数等)、数据路径等。系统会自动创建输出目录,初始化模型,并采用Adam优化器配合余弦退火学习率衰减策略。训练过程中,系统使用自定义的MyDataset类加载数据,支持数据增强CT图像的特殊预处理。每个epoch会计算并记录训练集验证集的损失值、mIoU、Dice系数等指标,通过ConfusionMatrix类综合评估模型性能,自动保存最佳模型权重。训练结束后会生成学习率衰减曲线、损失-指标曲线等多种可视化结果。utils.py提供了丰富的工具函数,包括:1)模型构建函数get_model,根据参数实例化对应网络;2)混淆矩阵类ConfusionMatrix,用于计算精度、召回率、F1、IoU等关键指标;3)数据加载类MyDataset,实现图像预处理、数据增强标签映射;4)多种可视化函数,如plot_lr_decay绘制学习率变化,plt_loss_iou_dice展示训练曲线;5)训练评估的核心函数train_one_epoch/evaluate,包含前向传播、损失计算指标统计逻辑。compare.py专注于训练结果的可视化分析,通过加载训练生成的JSON日志文件,提供跨模型的性能对比功能。其extract_metrics函数能解析不同模型的训练指标,plot_comparison函数则生成包含训练集验证集对比的子图,支持F1、IoU、Loss等指标的并行展示,便于研究者直观比较不同模型的优劣。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值