使用 PHPWord,您可以更改真正的 Microsoft Word "Text Highlight Color" 值而不仅仅是库应用的样式吗?
With PHPWord can you change the true Microsoft Word "Text Highlight Color" values and not merely the style applied by the library?
我正在使用 PHPWord (https://github.com/PHPOffice/PHPWord/tree/develop) 生成一个 Word 文档,其中包含一些需要背景颜色的文本。
PHPWord 能够将内联样式应用于添加到部分的文本。我通过以下方式做到这一点:
$section->addText(
"Some text",
[
"name" => "Tahoma",
"size" => 12,
"bgColor" => "#FF0000"
]);
问题是,当我在 Microsoft Word 中打开生成的文档时,我注意到彩色背景文本 而不是 以被识别为 [=28= 的方式着色] 您可以通过在 Word 中使用该工具获得。
因此,即使我 select(即突出显示)一些文本并选择 "Text Highlight Color" 工具和 select "None" 它也不会删除背景PHPWord 应用的颜色格式。文本前景色也是如此。
我的问题是:在 PHPWord 中是否有一种方法可以应用 Microsoft Word 应用程序将其识别为真实 "Text Highlight Color" 和真实 "Font Color" 是否会在使用该工具的应用程序中应用?还是我们仅限于 PHPWord 提供的内联样式?
Word 有两种不同的方法来为文本添加(背景)颜色:
- Shading:这可用于将文本、段落或 table 单元格后面的颜色设置为任意 RGB 颜色值。
- 文本突出显示颜色:这允许您从 15 种预定义颜色中选择一种来突出显示文档中的文本范围。突出显示具有一些特殊属性,例如您可以在 Word 的“查找”对话框中搜索突出显示的文本。
我不太熟悉 PHPWord 库,但看起来他们在 fgColor
属性 中公开了突出显示功能(如您在 their sample 中所见) :
$section->addText(
'This is some text highlighted using fgColor (limited to 15 colors)',
array('fgColor' => \PhpOffice\PhpWord\Style\Font::FGCOLOR_YELLOW)
);
请注意,您可以在文件中看到可用颜色列表 Font.php:
/**
* Foreground colors
*
* @const string
*/
const FGCOLOR_YELLOW = 'yellow';
const FGCOLOR_LIGHTGREEN = 'green';
const FGCOLOR_CYAN = 'cyan';
const FGCOLOR_MAGENTA = 'magenta';
const FGCOLOR_BLUE = 'blue';
const FGCOLOR_RED = 'red';
const FGCOLOR_DARKBLUE = 'darkBlue';
const FGCOLOR_DARKCYAN = 'darkCyan';
const FGCOLOR_DARKGREEN = 'darkGreen';
const FGCOLOR_DARKMAGENTA = 'darkMagenta';
const FGCOLOR_DARKRED = 'darkRed';
const FGCOLOR_DARKYELLOW = 'darkYellow';
const FGCOLOR_DARKGRAY = 'darkGray';
const FGCOLOR_LIGHTGRAY = 'lightGray';
const FGCOLOR_BLACK = 'black';
我正在使用 PHPWord (https://github.com/PHPOffice/PHPWord/tree/develop) 生成一个 Word 文档,其中包含一些需要背景颜色的文本。
PHPWord 能够将内联样式应用于添加到部分的文本。我通过以下方式做到这一点:
$section->addText(
"Some text",
[
"name" => "Tahoma",
"size" => 12,
"bgColor" => "#FF0000"
]);
问题是,当我在 Microsoft Word 中打开生成的文档时,我注意到彩色背景文本 而不是 以被识别为 [=28= 的方式着色] 您可以通过在 Word 中使用该工具获得。
因此,即使我 select(即突出显示)一些文本并选择 "Text Highlight Color" 工具和 select "None" 它也不会删除背景PHPWord 应用的颜色格式。文本前景色也是如此。
我的问题是:在 PHPWord 中是否有一种方法可以应用 Microsoft Word 应用程序将其识别为真实 "Text Highlight Color" 和真实 "Font Color" 是否会在使用该工具的应用程序中应用?还是我们仅限于 PHPWord 提供的内联样式?
Word 有两种不同的方法来为文本添加(背景)颜色:
- Shading:这可用于将文本、段落或 table 单元格后面的颜色设置为任意 RGB 颜色值。
- 文本突出显示颜色:这允许您从 15 种预定义颜色中选择一种来突出显示文档中的文本范围。突出显示具有一些特殊属性,例如您可以在 Word 的“查找”对话框中搜索突出显示的文本。
我不太熟悉 PHPWord 库,但看起来他们在 fgColor
属性 中公开了突出显示功能(如您在 their sample 中所见) :
$section->addText(
'This is some text highlighted using fgColor (limited to 15 colors)',
array('fgColor' => \PhpOffice\PhpWord\Style\Font::FGCOLOR_YELLOW)
);
请注意,您可以在文件中看到可用颜色列表 Font.php:
/**
* Foreground colors
*
* @const string
*/
const FGCOLOR_YELLOW = 'yellow';
const FGCOLOR_LIGHTGREEN = 'green';
const FGCOLOR_CYAN = 'cyan';
const FGCOLOR_MAGENTA = 'magenta';
const FGCOLOR_BLUE = 'blue';
const FGCOLOR_RED = 'red';
const FGCOLOR_DARKBLUE = 'darkBlue';
const FGCOLOR_DARKCYAN = 'darkCyan';
const FGCOLOR_DARKGREEN = 'darkGreen';
const FGCOLOR_DARKMAGENTA = 'darkMagenta';
const FGCOLOR_DARKRED = 'darkRed';
const FGCOLOR_DARKYELLOW = 'darkYellow';
const FGCOLOR_DARKGRAY = 'darkGray';
const FGCOLOR_LIGHTGRAY = 'lightGray';
const FGCOLOR_BLACK = 'black';