首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >opentbs -如何以编程方式设置文档标题?

opentbs -如何以编程方式设置文档标题?
EN

Stack Overflow用户
提问于 2020-03-30 16:28:28
回答 1查看 151关注 0票数 0

我使用ODT1.9.6生成OpenOffice OpenTBS文档。我需要以编程方式在文档属性中设置标题。

我已经在文档属性title中设置了占位符。但它不起作用。

该变量使用$TBS->VarRef进行全局设置

有什么办法吗?谢谢

我使用OpenTBS 1.9.6和TinyButStrong 3.10.1。我使用的是OpenOffice 4.1.5创建的odt文件。

代码语言:javascript
复制
`        include_once($this->context->parameters['appDir'] . '/openTBS/tbs_class.php'); // Load the TinyButStrong template engine
        include_once($this->context->parameters['appDir'] . '/openTBS/tbs_plugin_opentbs.php'); // Load the OpenTBS plugin

    $TBS = new \App\openTBS\clsTinyButStrong;
    $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN);
    $TBS->LoadTemplate($this->context->parameters['documents_path'] .'templates/'. $templateName, OPENTBS_ALREADY_UTF8);

    $res = $TBS->PlugIn(OPENTBS_SELECT_FILE, 'meta.xml');
    Debugger::log('OPENTBS_SELECT_FILE: '.$res); 
// function returned false

    $res = $TBS->PlugIn(OPENTBS_EDIT_ENTITY, 'meta.xml', 'office:document-meta/office:meta/dc:title', false, "My title", true);
    Debugger::log('OPENTBS_EDIT_ENTITY: '.$res);
// function returned false

`

odt file structure looks this way:

meta.xml looks this way:

<?xml version="1.0" encoding="UTF-8"?> <office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:textooo="http://openoffice.org/2013/office" office:version="1.2"><office:meta><meta:initial-creator>Lubor Voleský</meta:initial-creator><meta:creation-date>2019-01-09T22:04:27.08</meta:creation-date><dc:date>2020-04-07T18:30:26</dc:date><meta:editing-duration>PT20H5M8S</meta:editing-duration><meta:editing-cycles>26</meta:editing-cycles><meta:generator>OpenOffice/4.1.5$Unix OpenOffice.org_project/415m1$Build-9789</meta:generator><dc:description>comment</dc:description><meta:keyword>keywords</meta:keyword><dc:subject>Subject</dc:subject><dc:title>Title</dc:title><meta:document-statistic meta:table-count="1" meta:image-count="1" meta:object-count="0" meta:page-count="1" meta:paragraph-count="19" meta:word-count="39" meta:character-count="256"/><meta:user-defined meta:name="Producer">OpenTBS 1.9.6</meta:user-defined></office:meta></office:document-meta>

EN

回答 1

Stack Overflow用户

发布于 2020-04-04 10:48:56

这些属性位于meta.xml子文件中。所以你只需要打开它,然后自动字段(onload,onshow)就会被处理:

代码语言:javascript
复制
$TBS->PlugIn(OPENTBS_SELECT_FILE, 'meta.xml');

您还可以使用特殊命令(速度较慢):

代码语言:javascript
复制
$TBS->PlugIn(OPENTBS_EDIT_ENTITY, 'meta.xml', 'office:document-meta/office:meta/dc:subject',     false, "My subject", true);
$TBS->PlugIn(OPENTBS_EDIT_ENTITY, 'meta.xml', 'office:document-meta/office:meta/dc:title',       false, "My title", true);
$TBS->PlugIn(OPENTBS_EDIT_ENTITY, 'meta.xml', 'office:document-meta/office:meta/dc:description', false, "My description", true);
$TBS->PlugIn(OPENTBS_EDIT_ENTITY, 'meta.xml', 'office:document-meta/office:meta/meta:keyword',   false, "My keywords", true);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60926642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档