检测 Pandoc 中的 docx 分页

有很多关于如何将分页输出到 .docx 文件的 Pandoc 答案,但是当从 .docx 读取时,是否有任何方法可以检测页面分页?

我知道 Pandoc 的 AST 不支持分页的概念,但我一直希望能够使用例如 RawBlock 的 Lua 过滤器:

function RawBlock (el)
  return pandoc.Str "PAGE BREAK"
end

return {
  {RawBlock = RawBlock}
}

但是,这行不通(可能是因为分页被简单地忽略了,而不是被转换成 RawBlock?)

我唯一能想到的解决方案是使用 XML 解析器预处理 .docx 文件,并将所有 \u003cw:br w:type ="page"/\u003e 实例替换为一个魔术字符串,然后我们可以检测到它,但是使用单独的 XML 解析器有点不符合使用 Pandoc 的初衷。

点赞