gpt4 book ai didi

guid - DOCX(Open XML WordprocessingDocument)中唯一 ID 的最佳位置

转载 作者:行者123 更新时间:2023-12-01 23:46:20 24 4
gpt4 key购买 nike

我正在寻找一种方法来识别 DOCX 文件(如果它们被移动或重命名)。原因很明显,我正在使用 Open XML SDK,构建一个超链接检查器。

工作完美,至少可以添加或更新文档中的超链接。

问题是,如果我重命名外部文件(source.docx + target.docx 为 targetB.docx),链接就会损坏。我可以找到损坏的链接(只需检查链接的文件是否位于其给定位置)。

但我想要更多。我希望能够通过搜索目录(docx)中的所有文档并扫描它们是否是“目标”来恢复丢失的链接。最简单的方法应该是在文档属性中存储一个 GUID,如果文档被重命名或编辑,它不会改变(校验和不适用)。

然后我创建一个单独的链接列表和相应的 ID,如果有任何文档被重命名,我只需更新链接。我希望这个概念是清楚的。

所以有几个基本问​​题:

  • 是否有存储的“最佳实践”此“自定义信息”在 OpenXML 文档
  • 有吗文字处理文档 (DOCX) 已经创建了一些唯一标识符按字
  • 您将在哪里保存映射(超链接目标的 GUID)

我希望问题很清楚,如果没有,我会尽力澄清,如果有问题,请发表评论..

谢谢,克里斯

最佳答案

由于这是五年前的事,我希望您能找到答案。如果其他人对此感兴趣,最好的选择是在 ZIP 存档 (\docProps\custom.xml) 中创建一个新的自定义属性,并将元数据存储在其中。最简单的方法是在 Word UI 中生成一个以查看它们如何工作,但最终您将在 DOCX 存档中得到一个 custom.xml,如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
<property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="2" name="test">
<vt:lpwstr>chris</vt:lpwstr>
</property>
</Properties>

这些工作原理都记录在 ECMA 376 中,记录文件格式的标准。

据我所知,Word 不存储任何 GUID 来唯一标识文件。

关于guid - DOCX(Open XML WordprocessingDocument)中唯一 ID 的最佳位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/645418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com