我已经生成了 ALT 文本,只需要以某种方式将其添加到图像的图形标签下。背景介绍 - 我希望我的 pdf 符合 WCAG 2.1 AA 标准,我正在使用 adobe autotag 功能来标记 pdf。它将图像标记为 /figure。我可以完全提取图形并生成替代文本,但我找不到将替代文本嵌入或添加到图像并使其符合 WCAG 2.1 AA 的方法。我最终还想将其添加到 AWS 中的 lambda 函数中。有什么办法吗?谢谢!
我尝试使用多个开源库 pikepdf、pymupdf 和其他一些库,还尝试将 pdf 转换为 html 或 xml,但问题是 pdf 无法完全转换回原来的状态。我还尝试直接在代码中添加它,但文件损坏了。
Alt 文本的 MCID 要么在生成 PDF 时分配(因此对于此 WEB.HTML 页面,由浏览器 PDF 生成器分配),要么在检查其他人工验证内容时,在 GUI 中轻松手动分配。因此,Acrobat 预检是
Alt Text
强制性 PDF/AU 后期制作中最简单、最容易索引的点。在网页中,存在 1:1 的直接关系,
alt=
直接与 相结合img src
。PDF 中不保留这种直接关联。尝试在 PDF 流中添加所有生产互连组件通常会带来问题,因为所有现有文件组件都需要重新索引和重新编号,因此会成为一项庞大而缓慢的内部任务。
在 PDF 的中间添加所需对象及其所有从属或祖先(父级 = 119)和任何子对象并不容易。这是 156 个对象中的第 120 个。图像可以位于文件中的任何位置,因为图像和
/Alt
文本没有直接关系,只是页面索引中的数字。实际上,在这种情况下,图像被放在文档编号 11 对象的位置很靠后。如何放置标签是找到图像编号并在页面内容中查找它,这里它被添加为/X11。
/MCID 34
现在在它之前注入相关的标签号即手动将标签链接置于正确图像之前作为子引用。因此它将被视为图像的标签。
但是,由于每个 PDF 都需要至少两次手动目视检查来验证图像,因此最简单的方法是同时检查图像 alt 数据。
因此,我使用 node.js 中的 pdf-lib 来找到此解决方案的答案——也特别感谢 KJ 为我指明了道路。我首先使用 adobe api 进行自动标记,然后使用 pdflib 进行后期处理,添加我将通过 LLM 生成的 alt 标签。对我来说,通过 objid 引用它更容易,否则普通 ID 也可以很好地与此配合使用。我仍在全力以赴,希望在几周后添加一个 github 链接,如果有人愿意提供任何反馈并帮助为这个项目做出贡献!