首页 > 解决方案 > 在 phpword 中,如果您使用自动 TOC

问题描述

我正在使用$phpWord->getSettings()->setUpdateFields(true);创建目录。

在某些版本的 Word 或 word 中的设置?它会询问“更新目录”的问题。

如果您选择“仅更新页码”,您将在 TOC 中获得您期望的格式,但它缺少第一项/标题。如果您选择“更新整个表格”,它会更改已定义 TOC 的格式并包括缺少的第一行。例如,它将它更改为10指向 from 12

  1. 什么决定了 TOC 问题是否弹出?我需要它自动完成而无需询问。
  2. 我可以停止“更新整个表格”问题,但出现缺失的项目(第一个)吗?

标签: phpms-wordphpword

解决方案


您显示的代码 - $phpWord->getSettings()->setUpdateFields(true);- 不会生成目录。它在 Word 文档中设置一个“标记”,告诉 Word 应用程序在打开文档时更新文档中的所有字段。

当 Word 在打开存在此设置的文档时更新字段时,它将 1) 提示用户是否允许更新字段(安全问题)和 2) 字段更新将以与用户请求字段相同的方式发生更新。如果是目录,则会显示此提示。没有办法压制它。

这与使用 COM 对象模型在 Word 应用程序中更新字段不同。它具有用于更新目录的特定命令,并禁止向用户发送消息。


推荐阅读