Я пытаюсь изменить имя шрифта всего текста в моей таблице, используя http://php-odt.sourceforge.net. Вот код,
include 'phpodt-0.3/phpodt.php';
$odt = ODT::getInstance();
$table = new Table('table1');
$table->createColumns(3);
$table->addHeader(array('Col 1', 'Col 2', 'Col 3'));
$rows = array(array('1-1', '1-2', '1-3'), array('2-1', '2-2', '2-3'));
$table->addRows($rows);
$odt->output('test_table.odt');
Я искал документация php-odt ничего не нашел
Я думаю, что вы должны сделать что-то вроде этого:
$tableStyle = new TableStyle('yourcsstablestyle'); //This appears to need to be a style class, where you can set font
$table = new Table('table1', $tableStyle);
Выше не протестировано, но мы можем увидеть в исходном коде PHP-ODT для class.table.php
:
class Table {
//Elide member variables
/**
*
* @param DOMDocument $contentDoc The DOMDocument instance of content.xml
* @param TableStyle $tableStyle A TableStyle object representing table style properties
*/
public function __construct($tableName, $tableStyle = null) {
... //more code
Вы должны пройти $tableStyle
значение, чтобы получить таблицу стиля.
TableStyle
Конструктор класса выглядит так:
public function __construct($name) {
parent::__construct($name);
$this->styleElement->setAttribute('style:family', 'table');
$this->tableProp = $this->contentDocument->createElement('style:table-properties');
$this->styleElement->appendChild($this->tableProp);
}
Следовательно, необходимо передать класс стиля в конструктор TableStyle
,
Документация показывает, как это сделать стиль абзаца здесь, и картина кажется такой же.
Других решений пока нет …