魔兽世界插件开发-Table Of Contents(TOC)文件

魔兽世界插件开发 插件教程 插件编写 Table Of Contents TOC文件介绍

更多信息请关注:鸿石散人

Table Of Contents

        Table Of Contents.TOC文件插件的清单文件。它包含了关于插件的特定信息,如名称,描述,存储,环境,插件文件的加载顺序。

        TOC 文件必须存在,否则魔兽客户端不能识别。

        TOC 文件名称必须和插件目录名称一致。

TOC 文件格式

  • TOC文件内容以行为执行单元
  • 以“#”开头的行: 注释行 加载时会被忽略
  • 以“##”开头的行:标记行 提供有关 AddOn 的元数据
  • 非# 和 ## 的行: 文件行 提供顺序加载的文件的名称
  • 每行最多读取前 1024 个字符。其他字符将被忽略,不会导致错误。
  • 文件行中的文件可使用相对路径,相对路径起始值是TOC文件的路径。
  • 文件行引用的是 Lua 文件和 XML 文件。
  • LUA和XML文件的编写顺序也是加载的加载顺序,靠前的文件先加载。

示例

#注释行
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
reportlab是Python中一个非常流行的PDF生成库,TableOfContents是其中一个重要的模块,用于生成页面目录。 使用TableOfContents生成目录的主要步骤如下: 1. 导入reportlab库中的TableOfContents和Paragraph对象。 ```python from reportlab.platypus import TableOfContents, Paragraph ``` 2. 初始化TableOfContents对象,并指定其样式。 ```python toc = TableOfContents() toc.levelStyles = [ # 一级标题的样式 ('LEVEL1', 14, 'bold'), # 二级标题的样式 ('LEVEL2', 12, 'bold'), # 三级标题的样式 ('LEVEL3', 11, 'italic'), ] ``` 3. 遍历文档中的所有标题,将其添加到TableOfContents对象中。 ```python # 遍历文档中的所有段落 for para in paragraphs: # 如果该段落是标题 if para.style.name.startswith('Heading'): # 获取标题级别和标题文本 level = int(para.style.name[-1]) text = para.text.strip() # 将标题添加到TableOfContents对象中 toc.addEntry(level, text, len(page_list)) ``` 4. 在PDF文档中插入目录。 ```python # 将TableOfContents对象添加到PDF文档中 elements.append(toc) # 在目录之后添加文档内容 elements.extend(page_list) ``` 完整的TableOfContents示例代码如下: ```python from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer from reportlab.platypus.tableofcontents import TableOfContents from reportlab.lib.styles import getSampleStyleSheet # 创建PDF文档 doc = SimpleDocTemplate('example.pdf') elements = [] # 添加标题和段落 styles = getSampleStyleSheet() title = Paragraph('Example Document', styles['h1']) elements.append(title) elements.append(Spacer(1, 12)) text = 'This is a paragraph. ' * 20 para1 = Paragraph(text, styles['Normal']) elements.append(para1) elements.append(Spacer(1, 12)) # 初始化TableOfContents对象 toc = TableOfContents() toc.levelStyles = [ ('LEVEL1', 14, 'bold'), ('LEVEL2', 12, 'bold'), ('LEVEL3', 11, 'italic'), ] # 遍历文档中的所有段落,将标题添加到TableOfContents对象中 paragraphs = [title, para1] for para in paragraphs: if para.style.name.startswith('Heading'): level = int(para.style.name[-1]) text = para.text.strip() toc.addEntry(level, text, len(elements)) # 将TableOfContents对象添加到PDF文档中 elements.append(toc) # 在目录之后添加文档内容 para2 = Paragraph(text, styles['Normal']) elements.append(para2) elements.append(Spacer(1, 12)) # 生成PDF文档 doc.build(elements) ``` 运行以上代码,将会生成一个包含目录的PDF文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿石散人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值