本页内容
完整解压、定位报错、再次核对成品
- 解压整个 ZIP,查看主 .typ 文件和图片目录,保留原稿与原始 ZIP。
- 确认本地 Typst 编译器可用,在项目目录运行编译命令。先看退出状态、错误行和是否生成新 PDF。
- 遇到 file not found 时核对报错引用和相对目录;遇到字体警告时检查可用字体与成品文字。
- 恢复缺失资源或调整自己的副本后再次编译,对照原 PDF 检查公式、表格、图片说明和分页。
已经有 ZIP 时不需要重新上传或解析 PDF。下面的编译在本地完成;本页没有把 .typ 文件上传到 Doc2X,也未测试 Typst 云端导入。
完整项目与本地对照:成功生成 PDF 之后还要看图表
2026年10月12日,复用此前已完成解析的两页自编英文 PDF,实际导出一次 Typst ZIP。完整解压后用官方 Typst 0.15.1 编译,未改源码,得到两页 A4 PDF。本例保留原稿、原生文件包和本地成品,可逐项检查公式、表格与分页。
原生 .typ 第 54 行的图片引用
#box(image("images/1_279_471_1061_604_0.jpg", width: 90.0%))- 原生 ZIP 恰含一个 2,460 字节的 .typ 文件与一张 JPEG;图片路径是 images/1_279_471_1061_604_0.jpg。源码没有 import 或 include,本例不需要额外下载 Typst 包。
- 本机能找到源码指定的 Noto Serif CJK SC、STIX Two Text 字体。完整项目在 Typst 0.15.1 下退出码为 0,没有警告;表格 A/B/C 三行的小数与原稿一致,两条展示公式已逐项对照。
- 原稿与成品都是两页 A4,但字体、段落和分页发生变化。第 4 节标题移到成品第 1 页,图仍在第 2 页;六个导出标题统一使用 level: 1,不能当成恢复了原作者的标题层级和模板。
- 图表以 JPEG 保存,编译后内嵌图像的字节与 ZIP 中图片相同。原图顶部“Distance s (m) | Constant-speed model: s = 3t”一行仍然缺失;这是此前解析图片已有的差异,编译成功没有补回它。
- 只复制 .typ 到另一个目录的本地对照,退出码为 1,没有生成 PDF;放回原 images 目录后,源码不变、环境和创建时间相同,PDF 字节与首次成功编译一致。
- 另一份本地对照使用 --ignore-system-fonts:出现两条 unknown font family 警告,但退出码为 0,得到两页 PDF。正文使用 Libertinus Serif 替代字体;此英文样例没有验证中文缺字问题。
这是一份清晰英文原生文字 PDF,原稿标题和文中的 TeX 字样来自此前的转换实验,按原文保留。本轮没有新增上传、OCR、翻译或内容修订。PDF 成品由本地编译器生成,未测试 Typst 云端项目;扫描件、中文缺字、复杂模板和其他版本需另行核对。核对包另含明确标注的本地缺图与字体对照,它们不是更多产品导出。
先了解这几件事
Typst 导出后,先完整解压 ZIP,将 .typ 与图片目录放在对应位置,再用 Typst 编译器处理。.typ 是排版源码,不能只按 PDF 阅读器的方式打开。本例缺图会报错并停止;忽略系统字体时会出现警告,但仍能生成 PDF。因此要分别看错误、输出文件和最终页面。
- 准备材料
- 原生 ZIP、解压后的 .typ 与被引用资源。
- 本例检查
- 同一源码进行四次本地编译,只有一次产品导出。
- 缺图恢复
- 放回原图片后成品一致,源码无需改动。
- 字体边界
- 警告不等于失败;是否缺字、版式是否变化仍要看成品。
项目结构、命令与报错位置
完整解压后的两份文件
pdf-typst-output.typ
images/1_279_471_1061_604_0.jpg这是本次原生 ZIP 的实际成员。其他导出以自己的源码引用为准;纯文字文件不一定有 images 目录。
在解压目录编译
typst compile pdf-typst-output.typ output.pdf这是本例本地编译命令的便携写法。先安装官方编译器,并保持主文件与资源的位置;本次验证版本为 0.15.1。
缺图时先看引用,不要先改公式
error: file not found
pdf-typst-output.typ:54:11
#box(image("images/1_279_471_1061_604_0.jpg", width: 90.0%))错误来自本地只复制源码的对照。这里展示关键提示与源码行,省略了本机目录前缀。原始 ZIP 实际包含该图片,没有发生产品导出漏图。
导出源码指定的字体
#set text(font: ("Noto Serif CJK SC", "STIX Two Text"))
typst fonts首行是原生源码,下面的命令用于查看本机可用字体。本例正常编译时两个字体族都可用;字体文件没有随 ZIP 一起提供。
四次本地编译,先区分错误与警告
| 情况 | 实际结果 | 下一步 |
|---|---|---|
| 完整原生项目,指定字体可用 | 退出码 0,无警告,两页 PDF | 继续对照内容和分页 |
| 另建目录,只复制 .typ | 第 54 行 file not found;退出码 1,无 PDF | 恢复图片文件与相对目录 |
| 在同一对照目录放回 images | 退出码 0;成品与首次编译字节一致 | 保留完整文件结构再迁移 |
| 完整项目,忽略系统字体 | 两条字体警告;退出码 0,两页 PDF | 核对替代字体、字形与版面 |
.typ 文件用什么打开
可以在文本编辑器里查看和修改 .typ 源码,再用 Typst 编译为 PDF。本页给出的是本地命令行实测;若在其他编辑器或云端项目中处理,应同时带上资源并检查对应环境,不把下载一个源码文件当作完成了项目导入。
file not found:按源码所在位置找图片
本例第 54 行调用 image,路径从该 .typ 所在目录指向 images 子目录。只移动源码时,这个位置没有图片,因此编译停止。把原图片按原目录放回后,源码完全不变即可成功;先检查文件组织,再考虑其他修订。
unknown font family:先分清警告是否阻止输出
本地忽略系统字体的对照发出两条字体警告,但仍生成 PDF,正文改用 Libertinus Serif。不能把这类警告等同于没有成品,也不能忽略字体差异。查看 typst fonts;需要额外字体时可按官方说明配置 --font-path,并核对文档语言所需字形。
编译成功以后,回到原 PDF 检查内容
本例缺失的图上方说明,在原生 JPEG 里已经不存在,所以正常编译和恢复图片都不能补齐它。文件可打开、语法有效和内容完整是不同检查。需要该说明时,对照原稿修订自己的排版文件,保留原生下载便于追溯。
相同页数,也要检查标题、图和段落的位置
两份 PDF 都有两页,但第 4 节标题与图被重新分开。六个导出标题也统一为一级标题。需要目录、图文同页或特定模板时,在内容核对后调整 Typst 层级与页面规则,再查看完整成品。
相关官方说明
遇到这些情况
- 只复制源码后突然不能编译
- 对照原 ZIP 的资源清单和报错行。本例恢复 images 后成功,不需要重复识别 PDF。
- 字体警告消失了,但仍有方块或版式差异
- 继续检查实际字形和页面。本例只有英文材料,不据此保证任何中文或其他语言的字体覆盖。
- 仍报其他语法、变量或包相关错误
- 本例原生项目没有 import 或 include,也没有出现这些错误。保留具体报错,按当前 Typst 文档定位,不能用本页缺图案例推断所有原因。
常见问题
本页失败案例是 Doc2X 导出的 ZIP 缺少图片吗?
不是。本次原生 ZIP 包含 .typ 与所需 JPEG。缺图失败来自本地只复制源码的对照,用来说明迁移项目时资源必须一起保留。
字体警告一定意味着编译失败吗?
本例两条字体警告没有阻止生成 PDF。仍须检查退出状态、新文件和文字效果,尤其是语言所需字形;这不是任何缺字都安全的保证。
恢复图片后还修改了源码吗?
没有。源码与 JPEG 都保持原生字节;在相同编译器、字体与固定创建时间下,恢复后的 PDF 与首次成功结果逐字节一致。
生成的 PDF 是产品直接下载的吗?
页面的 Typst ZIP 是产品原生下载;展示的 PDF 是本地 Typst 0.15.1 编译结果。核对包中的字体对照 PDF 也是本地生成。
内容核对:2026-10-12 · 功能条件与配额以当前产品界面为准


