当前位置: 首页 > article >正文

在线免费 HTML 预览导出为图片,并且支持水平切割

在线体验

作用:可以直接预览 html 的页面效果,导出为图片,支持指定切割的数量,等高水平切割。

https://houbb.github.io/tools/html-preview.html

创作背景

有时候希望给一段 html 导出为长度,或者水平切分,感觉人工比较麻烦,就想着实现一个。

核心代码

导出的核心代码

async function exportAsImage() {
  const sliceCount = Math.min(9, Math.max(1, parseInt(document.getElementById('sliceCount').value) || 1));

  const iframe = document.getElementById('preview-frame');
  const doc = iframe.contentDocument || iframe.contentWindow.document;

  const totalHeight = doc.documentElement.scrollHeight;
  const sliceHeight = Math.ceil(totalHeight / sliceCount);

  for(let i=0; i<sliceCount; i++) {
    await html2canvas(doc.documentElement, {
      useCORS: true,
      scrollY: i * sliceHeight,
      windowHeight: sliceHeight,
      height: sliceHeight,
      y: i * sliceHeight
    }).then(canvas => {
      const link = document.createElement('a');
      link.download = `slice_${i+1}.png`;
      link.href = canvas.toDataURL();
      link.click();
    });
  }
}

参考资料

https://houbb.github.io/2025/02/05/tools-html-image-export-and-split


http://www.kler.cn/a/538452.html

相关文章:

  • 小鹅通首页网页开发
  • 面向对象程序设计-实验3
  • HTML应用指南:利用POST请求获取接入比亚迪业态的充电桩位置信息
  • 电路研究9.3——合宙Air780EP中的AT开发指南(含TCP 示例)
  • 【AI实践】Cursor上手-跑通Hello World和时间管理功能
  • 解锁AI语音魅力——yoyo鹿鸣在线语音合成器,让创意声音即刻绽放!
  • 基于Flask的汽车质量投诉可视化分析系统的设计与实现
  • 手写一个C++ Android Binder服务及源码分析
  • Java模块化 - 基本介绍
  • 0 CAD开源内核 Truck
  • 【数据结构】(7) 栈和队列
  • 如何在RTACAR中配置IP多播(IP Multicast)
  • 一款由 .NET 官方团队开源的电子商务系统 - eShop
  • python基础语法--笔记1
  • DeepSeek与ChatGPT对比:技术、应用与未来趋势
  • Tekton 可以代替 Jenkins不
  • DNS攻击方式有哪些,应该采取哪些应对措施?
  • c++加载TensorRT调用深度学习模型方法
  • 跟着李沐老师学习深度学习(五)
  • ESP32的IDF实现C语言和C++语言的混合编译
  • P1049 装箱问题(dp)
  • C++ 字符串编码转换
  • kafka生产者之发送模式与ACK
  • 【漫话机器学习系列】084.偏差和方差的权衡(Bias-Variance Tradeoff)
  • 人工智能入门 数学基础 线性代数 笔记
  • 6.Python函数:函数定义、函数的类型、函数参数、函数返回值、函数嵌套、局部变量、全局变量、递归函数、匿名函数