阅读顺序不等于视觉顺序
屏幕阅读器并不是自上而下地读一页 PDF。它按照结构树中 /K 数组出现的先后顺序来读,而这些数组记录的,只是生成文件的软件恰好写入内容的顺序。从设计软件导出的双栏版面,常常会读成:左栏、然后一段图注、然后右栏的一半、然后一条脚注 —— 而页面看上去毫无问题。
这个编辑器把两种顺序同时呈现出来。每个结构元素都按文件声明的顺序在页面上标号,并在旁边以同样的次序列出。
两种修正方式
拖动列表。 每一行都带有它的嵌套层级;把一行放到另一分支上会把它改挂到那个父节点,缩进按钮则把一行嵌套进上一行。
或者直接点击页面。 打开点选模式,按照应有的阅读顺序依次点击元素。在顺序混乱的页面上,这比拖动快得多,也正是它成为「可视化编辑器」而非「树状视图」的原因。
你还可以修改元素的角色(/P → /H2、/Figure → 其他),编辑它的 /Alt 文字,并采纳由版面推算出的排序建议 —— 先按栏间空白识别分栏,再在每栏内自上而下排序。建议会以「与当前顺序的差异」形式展示,供你采纳或拒绝,而不会被悄悄套用。
写入了什么,验证了什么
只有结构树会改变:重建 /K 数组,为移动过的元素写入新的 /P,设置角色与 /Alt。页面内容绝不会被触碰,因此页面外观完全不变。/ParentTree 仍然正确,因为重排从不改变「哪个元素拥有哪个标记内容标识」。
保存之后,文件会被重新打开,结构树被读回。无论通过与否,它返回的角色序列都会显示出来。
未加标签的文档
没有结构树的 PDF 也就没有可编辑的阅读顺序。在页面内容允许的情况下,可以生成一个起始结构树:把每个文字块包进标记内容,并按字号推测一个角色。那是一份需要人工审阅的草稿 —— 插图不会获得替代文字,表格不会变成表格 —— 工具在生成前后都会说明这一点。
隐私
一切都在你的浏览器内完成,PDF 绝不会被上传。
Tiny Online Tools






