【问题标题】:How to restart numbering on PHPWord with addListItem()?如何使用 addListItem() 在 PHPWord 上重新开始编号?
【发布时间】:2013-06-29 21:20:52
【问题描述】:

我正在创建一个文档,该文档将在一个页面上包含多个编号列表,并创建了两个列表定义,如下所示:

  ${'references_' . $testcase} = array('listType'=>PHPWord_Style_ListItem::TYPE_NUMBER_NESTED);
  ${'procedure_' . $testcase} = array('listType'=>PHPWord_Style_ListItem::TYPE_NUMBER_NESTED);

然后在循环中调用它们以添加到列表中:

for ($i = 1; $i <= 10; $i++) {
  $body->addListItem('List Item ' . $i, 0, null, ${'references_' . $testcase});
}
for ($j = 1; $j <= 10; $j++) {
  $body->addListItem('List Item ' . $j, 0, null, ${'procedure_' . $testcase});
}

但是,第二个列表编号从 11 开始 - 我怎样才能将其设置回 1?

【问题讨论】:

    标签: listitem phpword


    【解决方案1】:

    这是一个旧线程,除了 afaik 之外,您需要将列表放在单独的文本运行中才能重新开始编号

    【讨论】:

    • 很遗憾,您不能在文本运行中使用addListItem()。产生以下致命错误:Fatal error: Uncaught exception 'BadMethodCallException' with message 'Cannot add ListItem in TextRun.'
    【解决方案2】:

    我今天试图自己解决这个问题,我发现了一个名为PHPWord2 的 PHPWord 分支。目前,编号重新启动的代码仅在工作分支中。在https://github.com/PHPOffice/PHPWord/issues/10 阅读更多信息。示例包含在工作分支中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 2021-07-17
      相关资源
      最近更新 更多