首页/安全/取证与溯源速查/报告导出与格式
证据与报告57 条

报告导出与格式

Markdown 写稿、pandoc 导出 PDF 是常见流水线;中文字体在 PDF 引擎里要显式指定,避免导出乱码。

取证与溯源速查安全更新于 2026-10-13

导出流水线

取证报告常见的做法是正文用 Markdown 写,再用 pandoc 导出 PDF 或 HTML,原因是纯文本便于版本管理与多人改写,导出命令可重复执行,报告改一处不必重排整篇。导出 PDF 需要本机具备 LaTeX 引擎或 HTML 渲染引擎,中文必须显式指定 CJK 字体,否则会出现缺字或方框。

导出后要抽查什么

导出不是终点:页码与目录是否与正文一致、附录里的哈希与清单是否完整换行、代码块是否被折行破坏、插图分辨率是否够打印。这些在 Word 或 Markdown 预览里看不出来,只有在 PDF 上翻一遍才会暴露。

基本信息

适用平台跨平台命令行(pandoc、xelatex、wkhtmltopdf、LibreOffice)
常见链路Markdown → pandoc → PDF(xelatex)或 → HTML → PDF
中文字体xelatex 需通过 CJKmainfont 指定,如 Noto Sans CJK SC
版本管理Markdown 源文件与导出产物一并归档
交付格式对外固定 PDF,内部保留 Markdown 源

典型使用场景

  • 多人协同一份报告:各自在 Markdown 片段上写稿,最后统一渲染
  • 对外交付固定版式:用同一模板导出 PDF,保证不同案例外观一致
  • 需要网页版:导出 HTML 便于在内部平台展示与检索
  • 快速出草稿:先用 HTML 中转看结构,再统一调 PDF 版式
  • 报告发布后修订:只改 Markdown,重新导出并记录版本时间

导出与校验

导出与校验
# 直接导出 PDF,指定中文字体避免缺字
pandoc report.md -o report.pdf --pdf-engine=xelatex \
  -V CJKmainfont='Noto Sans CJK SC' -V geometry:margin=2.5cm

# 以 HTML 为中转,再用浏览器或 wkhtmltopdf 出 PDF
pandoc report.md -o report.html --standalone --toc --metadata title='CASE-2026-001'

# 导出后检查页数与文件大小,确认没有渲染中断
pdfinfo report.pdf | grep -E 'Pages|File size'

常见导出问题与处理

现象原因处理方式
中文显示为方框引擎未指定中文字体设置 CJKmainfont 或改用 HTML 中转
目录页码错位正文有未渲染的标题层级统一标题级别后重新导出
代码块被折行页面宽度不足或未用等宽环境调整页边距或用支持长行的代码环境
附录哈希断行自动换行破坏长字符串设置不折行样式或分列排版
表格跨页错乱表格过宽或行高过大拆分表格或改用横向页面
导出用的模板、字体与命令要写进报告的方法说明或附录,保证同一案例在别的机器上能复现出同样的版式。
PDF 一旦交付就难以修订,交付前把「草稿」与「定稿」分开命名并记录导出时间,避免对外发出的版本与内部归档版本不一致。

易错点

  • 中文未指定字体:导出结果出现方框或乱码,交付时才发现
  • 只导出 PDF 不留 Markdown 源:后续修订只能重排全文
  • 导出后不做抽查:目录、页码、附录哈希的版式问题会直接带到交付物
  • 报告与证据清单分别维护:名称与哈希不一致,复核时对不上

数据来源与参考

  • pandoc 官方文档(PDF 引擎与字体)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌