【问题标题】:OpenTBS - read docx propertiesOpenTBS - 读取 docx 属性
【发布时间】:2021-09-15 07:11:46
【问题描述】:

有没有办法在加载 OpenTBS 模板后访问 docx 属性?

$TBS->LoadTemplate($template, OPENTBS_ALREADY_UTF8);

我知道我可以将 docx 作为 zip 打开,访问 docProps 中的 core.xml 并解析内容以查找例如文档标题。 还有一些帮助程序库可以做到这一点,但使用 TBS 会更干净。

非常感谢。

【问题讨论】:

    标签: php opentbs tinybutstrong


    【解决方案1】:

    命令OPENTBS_EDIT_ENTITY 就是为此目的而完成的。

    见the doc

    【讨论】:

    • 我在询问之前看过文档,但似乎该命令无法读取当前值。我需要先检索该值并根据模板值设置不同的值。
    • 您知道如何定位 docx 中的特定“内容”,与他的职位无关吗?换句话说,我们可以在 docx 中命名“块”并根据这个名称阅读它们吗?我只看到函数中的路径
    • @Micbol12 你的意思是“TBS 块”吗?
    【解决方案2】:

    我已经能够按如下方式检索 title 属性。有没有更好的办法?

    $TBS->LoadTemplate($template . "#docProps/core.xml", OPENTBS_ALREADY_UTF8);
    $xml = new SimpleXMLElement($TBS->Source);
    $xml = dom_import_simplexml($xml);
    $nodelist= $xml->getElementsByTagName('title');
    $node = $nodelist[0];
    $title = $node->nodeValue;
    

    【讨论】:

      【解决方案3】:

      自 OpenTBS 版本 1.10.3(刚刚发布)以来,有一个新命令 OPENTBS_READ_ENTITY。

      Thank you 建议使用此功能。内部函数已经存在。

      【讨论】:

      • 乐于助人! OpenTBS 对我来说非常有用。
      • 我已经修复了帖子:新命令当然是 OPENTBS_READ_ENTITY
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      相关资源
      最近更新 更多