README.md 14 KB

Example

当前目录用于演示文件预览样例和格式兼容性。主示例页会从这里读取内置样本,覆盖当前已注册的主要格式入口。

PDF、DOCX、PPTX、CAD、OpenDocument、3D 模型、绘图、音视频、EPUB、MSG 等样例使用项目方提供的真实资料、可追溯的公开样本或项目内最小夹具;RTF、FODS、地理数据、MIDI、SQLite、WASM、UMD、EML、MBOX、OLB、DRA 和压缩包样例由项目内生成,来源和许可见下方“公开样例来源”。这样既能避免手写占位文件过于理想化,也方便后续升级依赖时复现真实文件的兼容性问题。

en/ 目录是英文 Demo 专用样例体系。它包含公开英文 DOCX / PDF / PPTX / XLSX,以及项目内英文 Markdown、文本、日志、CSV、JSON、TypeScript、JavaScript、GeoJSON、glTF 和英文压缩包,用于浏览器语言为非中文时直接展示英文内容,而不是只替换界面标签。

代码/配置/日志类样本刻意保留了更接近真实业务的结构,例如异步加载计划、文件类型识别、错误处理、配置嵌套、SQL CTE、Shell 参数处理和多语言类型定义。这样可以更充分地验证 highlight.js 对注释、字符串、泛型、对象嵌套、缩进、diff 和长行滚动的展示效果。

当前内置样本

  • test.doc: 验证 .doc 老文档与 Word 风格页面容器
  • word.docx: 使用 Basel Convention 公开中文正式文档验证现代 Word 长文档、标题层级、表格、图示、白色纸张和完整打印
  • template.dot: 复用老 Word 二进制样本验证 .dot 模板兼容入口
  • sample.rtf: 验证 RTF 富文本兼容预览
  • document.odt: 使用 The Document Foundation 公开 ODT 模板验证 OpenDocument 文本文档入口
  • excel.xlsx: 验证 xlsx 样式能力
  • excel.xlsm: 验证 xlsm 扩展名入口
  • excel.xlsb: 验证 xlsb 扩展名入口
  • excel.xls: 验证 xls 扩展名入口
  • table.csv: 验证 csv 表格入口
  • excel.ods: 使用 The Document Foundation 公开 ODS 表格验证 ods 扩展名入口
  • excel.fods: 使用标准 Flat ODS XML 夹具验证 fods 扩展名入口
  • excel.numbers: 验证 numbers 扩展名入口
  • ppt.pptx: 使用 R4Psy 公开中文课程课件验证 pptx 多页幻灯片、图片资源、主题背景、组合元素和富文本排版
  • slides.odp: 使用 The Document Foundation 公开 ODP 文件验证 OpenDocument 演示文稿入口
  • pdf.pdf: 使用项目方提供的 13 页《PDF沉浸式翻译技术说明》验证长文档阅读、缩放工具栏、页面/目录导航、完整打印和 HTML 导出
  • ofd.ofd: 验证 ofd.js 在线预览
  • report.typ: 验证 Typst 源文件直接读取、浏览器 WASM 编译、按页预览、打印和 HTML 导出链路
  • drawing.dxf: 使用公开 DXF CAD 样例验证图纸预览
  • sample.dwg: 使用 Autodesk 官方 DWG 样例验证 Worker + LibreDWG WASM 几何解析
  • samples/apache/blocks_and_tables.dwf: 使用 Apache Tika 公开 DWF 样例验证原生 DWF 容器、块和表格渲染
  • samples/autodesk/house.dwfx: 使用 Autodesk 官方 Viewer 教程 DWFx 样例验证 native DWFx/XPS 渲染、多页结构和 CAD 视图适配
  • samples/autodesk/robot-arm.dwfx: 使用 Autodesk 官方 Viewer 教程 DWFx 样例验证 W2D/W3D native renderer 和复杂装配图形
  • map.geojson: 验证 GeoJSON 点线面离线地图预览
  • route.kml: 验证 KML 转 GeoJSON 后预览
  • track.gpx: 验证 GPX 轨迹转 GeoJSON 后预览
  • model.gltf: 使用项目内最小 glTF 验证 Web 3D 预览
  • model.obj: 使用项目内 OBJ 四面体验证 OBJ 几何预览
  • model.stl: 使用项目内 STL 四面体验证 STL 几何预览
  • model.ply: 使用项目内 PLY 四面体验证 PLY 几何预览
  • model.step: 使用项目内最小 STEP 验证工程 CAD 格式转换原因提示
  • flow.excalidraw: 使用公开 Excalidraw 图纸验证官方 SVG 导出预览
  • process.drawio: 使用官方 draw.io 示例验证 diagrams.net 图纸预览
  • book.epub: 使用 Project Gutenberg 公开 EPUB 验证电子书目录和滚动阅读
  • book.umd: 验证 UMD 电子书元数据、目录和 zlib 正文解析
  • archive.zip: 验证 ZIP 目录读取、按需解压、缓存和压缩包内文件预览
  • archive.tar.gz: 验证 TAR.GZ 压缩包兼容入口和内部文件预览
  • sample.eml: 验证 EML 头信息、HTML/文本正文、附件下载和附件预览
  • sample.msg: 使用 msgreader 上游公开样例验证 Outlook MSG 解析
  • sample.mbox: 验证 MBOX 归档识别和首封邮件预览
  • sample.olb: 使用项目内生成的 CFB 元件库夹具验证 OLB 结构树、元件属性和字符串预览
  • sample.dra: 使用项目内生成的 CFB 封装图纸夹具验证 DRA 图纸、封装、Padstack 和属性预览
  • markdown.md: 验证 Markdown 阅读样式
  • notes.markdown: 验证 Markdown 长扩展名
  • text.txt: 验证纯文本预览
  • data.json: 验证 JSON 高亮
  • data.jsonc: 验证 JSONC 配置高亮
  • data.json5: 验证 JSON5 宽松对象语法高亮
  • notebook.ipynb: 验证 Jupyter Notebook JSON 结构预览
  • code.js: 验证 JavaScript 高亮
  • code.mjs: 验证 ES Module JavaScript 高亮
  • code.cjs: 验证 CommonJS JavaScript 高亮
  • code.ts: 验证 TypeScript 高亮
  • code.tsx: 验证 TSX 高亮
  • code.jsx: 验证 JSX 高亮
  • code.css: 验证 CSS 高亮
  • page.html: 验证 HTML 源码高亮,不执行页面脚本
  • page.htm: 验证 HTM 源码高亮,不执行页面脚本
  • data.xml: 验证 XML 高亮
  • component.vue: 验证 Vue 单文件组件高亮
  • config.yaml: 验证 YAML 高亮
  • config.yml: 验证 YML 高亮
  • config.toml: 验证 TOML 高亮
  • settings.ini: 验证 INI 高亮
  • service.proto: 验证 Protocol Buffers IDL 展示
  • infrastructure.hcl: 验证 HCL 配置展示
  • formula.tex: 验证 TeX / LaTeX 源码展示
  • graph.gv: 验证 Graphviz DOT 源码展示
  • request.http: 验证 HTTP 请求片段展示
  • script.sh: 验证 Shell 脚本高亮
  • script.bash: 验证 Bash 脚本高亮
  • query.sql: 验证 SQL 高亮
  • main.go: 验证 Go 高亮
  • main.rs: 验证 Rust 高亮
  • code.rb: 验证 Ruby 高亮
  • code.swift: 验证 Swift 高亮
  • Main.kt: 验证 Kotlin 高亮
  • component.react: 验证 React 片段入口
  • index.php: 验证 PHP 高亮
  • main.c: 验证 C 高亮
  • main.cpp: 验证 C++ 高亮
  • module.cc: 验证 C++ 兼容扩展名高亮
  • main.h: 验证 C/C++ 头文件高亮
  • main.hpp: 验证 C++ 头文件高亮
  • program.cs: 验证 C# 高亮
  • change.diff: 验证 diff 高亮
  • code.java: 验证 Java 高亮
  • code.py: 验证 Python 高亮
  • app.log: 验证日志文件预览
  • pic.png: 验证 PNG 图片预览
  • pic.jpg: 验证 JPG 图片预览
  • pic.jpeg: 验证 JPEG 图片预览
  • pic.gif: 验证 GIF 图片预览
  • pic.bmp: 验证 BMP 图片预览
  • pic.tiff: 验证 TIFF 图片预览
  • pic.tif: 验证 TIF 图片预览
  • vector.svg: 验证 SVG 图片预览
  • pic.webp: 验证 WEBP 图片预览
  • audio.mp3: 使用 MDN CC0 音频验证 MP3 原生播放
  • audio.ogg: 使用 Wikimedia Commons 音频验证 OGG 原生播放
  • melody.mid: 验证 MIDI 轨道、时长和音符摘要
  • video.mp4: 验证视频播放
  • icon.ico: 验证 ICO 图标预览
  • sample.sqlite: 验证 SQLite 表结构和少量行预览
  • module.wasm: 验证 WASM 模块导入导出摘要

说明

部分兼容扩展名样本复用了同一份可解析文件内容来确认渲染入口,例如表格兼容格式和图片兼容格式。生产上线前,仍建议用业务真实文件补一轮回归。

公开样例来源

文件 公开来源 许可
drawing.dxf mozman/ezdxfexamples_dxf/wipeout_door.dxf MIT
word.docx Basel Convention 的公开中文正式文档 UNEP-CHW.15-6-Add.5-Rev.1.Chinese.docx 公开下载,需保留来源归属
template.dot 复用项目内 test.doc fixture 并以 Word 97-2003 模板扩展名保存 Apache-2.0
ppt.pptx hcp4715/R4Psyslides/chapter_1.pptx 中文课程课件 CC-BY-4.0
pdf.pdf 项目方提供的《PDF沉浸式翻译技术说明》真实示例文档 项目 Demo 授权
sample.dwg Autodesk 官方 AutoCAD sample files 的 blocks_and_tables_-_imperial.dwg Autodesk public AutoCAD sample file
samples/apache/blocks_and_tables.dwf Apache Tika TIKA-1823blocks_and_tables.dwf Jira 附件 Apache Software Foundation Jira attachment
samples/autodesk/house.dwfx Autodesk viewer-javascript-tutorialSample files/House.dwfx 官方样例 MIT
samples/autodesk/robot-arm.dwfx Autodesk viewer-javascript-tutorialSample files/RobotArm1.dwfx 官方样例 MIT
model.gltf / model.obj / model.stl / model.ply / model.step 项目内生成的最小 3D fixture Apache-2.0
flow.excalidraw neo4j-labs/agent-memorypoleo-model.excalidraw Apache-2.0
process.drawio jgraph/drawio-diagramsblog/data-flow.drawio Apache-2.0
book.umd 项目内生成的最小 UMD 文本电子书 fixture Apache-2.0
document.odt The Document Foundation Wiki 的 Book-template-0-2.odt CC-BY-SA-3.0 / LGPL-3.0+ / MPL-1.1
excel.ods The Document Foundation Wiki 的 Fixture_Copa_del_Mundo_2014.ods CC-BY-SA-3.0
slides.odp The Document Foundation Wiki 的 QA_Impress_Example_01_ODP_File.odp CC-BY-SA-3.0
excel.fods 项目内编写的标准 Flat ODS XML fixture Apache-2.0
sample.rtf 项目内生成的兼容文档 fixture Apache-2.0
map.geojson / route.kml / track.gpx 项目内生成的轻量地理数据 fixture Apache-2.0
sample.mbox 项目内生成的 MBOX 邮件归档 fixture Apache-2.0
data.jsonc / data.json5 / notebook.ipynb / config.toml / service.proto / infrastructure.hcl / formula.tex / graph.gv / request.http / component.react / code.rb / code.swift / Main.kt 项目内编写的工程文本和代码 fixture Apache-2.0
melody.mid / sample.sqlite / module.wasm / icon.ico 项目内生成或复用 favicon 的资产/数据 fixture Apache-2.0
archive.zip / archive.tar.gz 项目内打包的 PDF、公开 DOCX、Markdown、TypeScript 和 JSON 示例集合 随内部文件来源
en/archive.zip / en/archive.tar.gz 项目内打包的英文 DOCX、PDF、PPTX、XLSX、Markdown、文本、日志、CSV、JSON、代码、GeoJSON 和 glTF 示例集合 随内部文件来源
sample.eml 项目内生成的标准 MIME 邮件 fixture Apache-2.0
sample.msg HiraokaHyperTools/msgreadertest/A memo.msg MIT
sample.olb / sample.dra 项目内生成的 CFB EDA fixture Apache-2.0
report.typ 项目内编写的 Typst 多页文档 fixture Apache-2.0
audio.mp3 MDN interactive examples 的 t-rex-roar.mp3 CC0
audio.ogg Wikimedia Commons 的 Example.ogg CC BY-SA 3.0
book.epub Project Gutenberg 的 Alice's Adventures in Wonderland EPUB Public domain in the USA

这些样例只作为预览器验收文件使用。更新样例时请继续保留公开来源、固定路径和许可信息,避免重新引入无法追溯的本地占位文件。

ofd.ofd 示例来自 Apache-2.0 授权的 DLTech21/ofd.js 项目公开样本,用于确认 OFD 在浏览器端的基础解析和渲染链路。运行时使用同仓库纯 JS 解析/渲染源码,避开 npm dist 的授权 wasm 分支。

CAD 预览使用 @flyfish-dev/cad-viewersample.dwg 已换成 Autodesk 官方 AutoCAD sample files 中的 blocks_and_tables_-_imperial.dwg,运行时会按需加载 viewer 静态目录下 wasm/cad/ 中的 DWG Worker 和 LibreDWG WASM;drawing.dxf 继续验证 DXF parser、图层和视图适配;samples/apache/blocks_and_tables.dwf 来自 Apache Tika 公开 Jira 附件,用于验证 DWF 容器、块和表格渲染;samples/autodesk/house.dwfxsamples/autodesk/robot-arm.dwfx 来自 Autodesk 官方 Viewer 教程,用于验证 DWFx/XPS native renderer、W2D/W3D 图形和 dwfv-render.wasm fallback。

OpenDocument 样例不再使用临时生成的 ODT/ODS/ODP 占位文件。document.odtexcel.odsslides.odp 均来自 The Document Foundation Wiki 的真实公开文件,用于覆盖 ODT 正文、ODS 工作表和 ODP 幻灯片结构;excel.fods 是项目内编写的标准 Flat ODS XML,用于确认平面 OpenDocument 表格入口。

model.gltfmodel.objmodel.stlmodel.plymodel.step 用于验证 Three.js 模型预览、视图适配、线框/网格/坐标轴控制以及工程格式转换提示。

flow.excalidrawprocess.drawio 用于验证绘图类文本格式。Excalidraw 使用官方 @excalidraw/excalidrawrestoreexportToSvg,draw.io 使用官方 diagrams.net GraphViewer,组件本身只做按需加载、容器挂载和错误提示。

audio.mp3audio.ogg 用于验证浏览器原生音频播放能力;melody.mid 用于验证 MIDI 元数据解析;book.epub 用于验证 epubjs 的目录、章节资源和滚动阅读能力;book.umd 用于验证早期移动电子书的文件头、元数据、章节偏移、章节标题和 zlib 正文段。

report.typ 用于验证 Typst 文档入口,示例包含标题、指标块、表格、数学公式、代码块和多页输出。线上 Demo 会直接读取该源文件,通过浏览器端 WASM 编译与 SVG 渲染链路完成预览、打印和 HTML 导出。

archive.ziparchive.tar.gz 用于验证 libarchive.js 的 Worker 目录读取、按需解压、IndexedDB 缓存和压缩包内文件继续预览;en/archive.zipen/archive.tar.gz 额外覆盖英文 demo 的嵌套文档、代码、数据、GeoJSON 和 glTF 预览。sample.emlsample.msgsample.mbox 用于验证邮件头信息、HTML/文本正文、附件下载和归档识别。sample.olbsample.dra 是 CFB 容器夹具,用于验证 OLB / DRA 的结构树、对象候选、属性、文本片段和可读字符串预览。map.geojsonroute.kmltrack.gpx 用于验证地理数据离线 SVG 预览;sample.sqlitemodule.wasm 用于验证结构化数据与二进制摘要预览。