php - 如何为相同的深度标题使用多种样式?
问题描述
我在使用 PHPWord 时遇到了一些麻烦。尝试使用具有相同深度但样式不同的 addTitle。我目前在页面顶部定义我的样式,我试图动态覆盖它们,但不幸的是它不起作用。
我可以看到这已经是 github 上的一个问题。https://github.com/PHPOffice/PHPWord/issues/1397
链接到文档 https://phpword.readthedocs.io/en/latest/
$phpWord->addTitleStyle(1, $fontStyles["HEADING_ONE_SPLIT"], $paragraphStyles["HEADING_ONE_DEFAULT"]);
$sceneSection->addTitle('MY TITLE', 1);
$phpWord->addTitleStyle(1, $fontStyles["HEADING_ONE_SPLIT"], $paragraphStyles["HEADING_ONE_SPLIT"]);
$sceneSection->addTitle('MY TITLE WITH DIFFERENT STYLE', 1);
基本上风格根本没有改变。我添加了一个选项卡并与第二个标题段落样式左对齐,但它没有得到应用。
请注意,我的字体样式和段落样式在不同深度上都能完美运行。问题是我根据它们的深度创建了一个 TOC,但有些标题每个深度需要不同的样式。
解决方案
PHPword (0.16.0) 似乎不支持重新定义已经存在的标题样式(或任何命名样式) - 如果已经定义了特定深度的标题样式,则第二个 addTitleStyle 调用将被忽略。您可以查看源代码中 Style.php 中的 setStyleValues 函数以获取更多详细信息。
推荐阅读
- python - TypeError: 无法使用 Bit.ly_API 连接 'str' 和 'dict' 对象错误
- javascript - 使用 django-dynamic-formset 创建表单集工厂时出错
- r - 箭头键在 Red Hat Server 上运行的 R 中不起作用
- c# - 有没有办法知道哪个 TreeNode 在其 ContextMenuStrip 项目之一被左键单击并且项目的 CheckedState 更改后被右键单击?
- python - Python 查询运行但未插入 mysql
- magento - Magento 通过 eav 选项值查询客户
- html - MVC - Div 类未在 CSS 中显示背景图像或颜色
- html - 将div并排放置以填充容器而不固定宽度?
- c++ - 是否可以从 C++ 创建 Qml 组件?
- python - 尝试计算/验证签名时没有名为 Crypto 的模块错误