原生js+css实现类似word可导出docx及pdf的支持文本选择润色及续写的富文本ai编辑器代码

代码语言:html

所属分类:其他

代码描述:原生js+css实现类似word可导出docx及pdf的支持文本选择润色及续写的富文本ai编辑器代码,api接入了openai兼容的大模型

代码标签: 原生 js css 类似 word 导出 docx pdf 支持 文本 选择 润色 续写 富文本

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8" />
  <title>AI 富文本编辑器(可导出 DOCX/PDF,支持润色与续写)</title>
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <!-- 外部库:导出 DOCX / PDF -->
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/filesaver.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/html-docx.min.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/html2pdf.bundle.min.js"></script>

  <style>
    :root{
      --bg:#f3f5f7;
      --white:#fff;
      --text:#222;
      --muted:#6b7280;
      --primary:#2563eb;
      --primary-weak:#e0e7ff;
      --border:#e5e7eb;
      --toolbar:#fafafa;
      --shadow: 0 10px 30px rgba(0,0,0,.05);
      --page-width: 840px;    /* 接近 A4 可读宽度 */
      --page-pad: 36px;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      background:var(--bg);
      color:var(--text);
      font: 14px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "PingFang SC","Noto Sans CJK SC","Microsoft YaHei", "Source Han Sans SC",sans-serif;
    }

    .app{
      max-width: 1200px;
      margin: 20px auto 60px;
      padding: 0 16px;
    }

    .topbar{
      display:flex;
      gap:12px;
      align-items:center;
      justify-content:space-between;
      background:var(--white);
      border:1px solid var(--border);
      border-radius:12px;
      padding: 10px 12px;
      box-shadow: var(--shadow);
      position: sticky;
      top: 10px;
      z-index: 10;
    }

    .toolbar{
      flex: 1;
      display:flex;
      align-items:center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .toolgroup{
      display:flex;
      gap:6px;
      align-items:center;
      padding-right:8px;
      border-right:1px solid var(--border);
    }
    .toolgroup:last-child{ border-right: none; padding-right: 0; }

    button.tool, .select, .input {
      height: 34px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--toolbar);
      color: var(--text);
      display: inline-flex;
      align-items: center;
      gap:6px;
      padding: 0 10px;
      cursor: pointer;
      font-size: 13px;
    }
    button.tool:hover{ background:#f0f3f6 }
    button.tool:active{ background:#e8edf3 }
    button.tool[disabled]{ opacity:.6; cursor:not-allowed }

    .select, .input{
      background: var(--white);
      padding: 0 8px;
    }
    .input{ width: 210px; }

    .ai-panel{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap: wrap;
      background:var(--white);
      border:1px solid var(--border);
      border-radius:12px;
      padding:8px 12px;
      margin-top:12px;
      box-shadow: var(--shadow);
    }
    .ai-panel small{ color: var(--muted); }

    .doc-wrap{
      margin-top: 16px;
      display:flex;
      justify-content:center;
    }

    .page{
      width: var(--pa.........完整代码请登录后点击上方下载按钮下载查看

网友评论0