You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何压缩HTML文件用于邮件发送 无需收件人手动执行解压操作

可直接打开的压缩HTML方案

方案一:浏览器自解压单HTML文件

这个方案完全匹配你提到的浏览器自带gzip解压能力的思路,最终产出仍是单个.html文件,收件人保存后双击即可用浏览器打开,无任何额外操作:

  • 实现逻辑:将原大体积HTML做gzip压缩后转base64编码,嵌入一个仅几KB大小的带解压逻辑的HTML启动模板中,模板内置精简版pako.js解压库,加载后自动完成解码、解压、渲染全流程。
  • 注意事项:如果原HTML依赖外部CSS、图片等资源,建议先把所有资源内嵌到原HTML中再做压缩,避免解压后资源加载失败。
  • Python实现示例:
import gzip
import base64

# 读取原HTML文件
with open("origin.html", "r", encoding="utf-8") as f:
    raw_html = f.read()

# gzip压缩后转base64
compressed = gzip.compress(raw_html.encode("utf-8"))
b64_data = base64.b64encode(compressed).decode("utf-8")

# 启动模板,内置精简pako
template = """
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
/* 这里替换成公开的pako.min.js的精简代码即可 */
</script>
<script>
window.onload = function() {
    const b64Data = "{{B64_DATA}}";
    const binData = atob(b64Data);
    const uint8Array = new Uint8Array(binData.length);
    for (let i = 0; i < binData.length; i++) {
        uint8Array[i] = binData.charCodeAt(i);
    }
    const decompressed = pako.ungzip(uint8Array, {to: 'string'});
    document.open();
    document.write(decompressed);
    document.close();
}
</script>
</head>
<body></body>
</html>
"""

# 替换数据输出
output_html = template.replace("{{B64_DATA}}", b64_data)
with open("compressed.html", "w", encoding="utf-8") as f:
    f.write(output_html)

这个方案最终产出的文件体积仅比原gzip压缩后的体积大3-5KB,兼容性覆盖所有主流现代浏览器。

方案二:HTML转DOCX格式

Python实现

直接使用html2docx模块即可实现一键转换,代码量极少:

  • 先安装依赖:pip install html2docx
  • 转换代码:
from html2docx import html2docx

with open("origin.html", "r", encoding="utf-8") as f:
    html_content = f.read()

# 生成docx
docx_bytes = html2docx(html_content, title="文档标题")
with open("output.docx", "wb") as f:
    f.write(docx_bytes)

如果原HTML带图片、样式,这个模块也能做到较好的兼容性,最终生成的docx压缩比和gzip基本持平。

Perl实现

可以使用Pandoc模块封装转换能力完成转换,不需要手动处理docx结构:

  • 先安装依赖:cpanm Pandoc
  • 转换代码:
use Pandoc;

pandoc->run( 'origin.html',
    '-o' => 'output.docx',
    '-f' => 'html',
    '-t' => 'docx'
);

内容的提问来源于stack exchange,提问作者Arik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 02:15:02