03.PPTX解析说明文档(单页PPTX解析属性说明)
tiger editou esta páxina hai 10 meses

本文档对单页的公共元素进行说明

  • 其中fill填充属性属性与单个元素的fill填充属性数据结构一致。
{
   "animations": null,//单页动画说明,包含出场顺序等。
   "transition": {//>>>>update
        "length": 2000,//切换过渡效果运动时长,单位毫秒
        "advanceOnClick": true,//是否鼠标单击切换
        ///advTm小于 动画总时长 以动画总时长为准
        ///当前页动画时长  |___ _____ ______ __|
        ///当前页advTm时长 |________________|
        ///advTm大于 动画总时长,以advTm 时长为准,动画间隔被平均
        ///当前页动画播放时长  |___......_____......______......__|
        ///当前页自动换片时长  |_________________________|
        "advTm": 14000,//自动切换下一页的时间长度, 页面内动画总时长0 代表未设置,单位毫秒。
        "type": "RandomBars",/// 切换过渡类型
        "typeExt": {///类型切换的可变参数,每种类型的可变参数,详见<16.PPTX幻灯片切换过渡类型可变参数(Transition切换过渡)>
            "RandomBars": "Vertical",
            "SndAc": {//叠加的声音效果
                "loop": true,//是否本页播放完成之前一直循环
                "url": "/ppt/media/audio1.wav",//播放的音乐文件
                "name": ""//声音文件名
            }
        },
    }
   "item": [],//元素集合列表 ,单独说明
   "fill": {//单页背景填充 (可选)
        "type": -1,//-1,0,无填充 1.纯色填充 2.渐变填充 3.图片或纹理填充 4.图案填充 填充类型只有一种
        "solidFill": null,//纯色填充,Html的十六进制颜色 #FFFF00
        "blipFill": {//图片纹理填充
            "rotWithShape":true,//与绑定的形状一起旋转
            "opacity":0,//不透明度
            "dip":"",//图片的dip设定
            "tile":{
                "algn":"",//Alignment  对齐方式
                "flip":"",//Tile Flipping 镜像类型
                "tx":0,//Horizontal Offset 水平偏移量
                "ty":0,//Vertical Offset 垂直偏移量
                "sx":0,//Horizontal Ratio   水平刻度
                "sy":0,//Vertical Ratio 垂直刻度
            },
            "url":"",// 图片的Stores索引key  /ppt/media/image4.png
            "fillRect":{//填充图片溢出/偏移拉伸 百分比
                "b":0,//底部拉伸
                "l":0,//左拉伸
                "r":0,//右拉伸
                "t":0//顶部拉伸
            },
        },
        "gradientFill": {//渐变色填充
            "RotateWithShape":true,
            "flip":"None",//平铺翻转模式 Horizontal 水平,HorizontalAndVertical 水平和垂直,Vertical 垂直,None  无
            "type":"",// line  线性 ,path 路径
            "line":{
                "rot":0,//线性渐变 投射角度。
                "scaled":""//是否渐变角度缩放与填充区域。 详细见官方文档LinearGradientFill
            },
            "path":{
                "pathType":"",//circle圆形渐变, rect矩形渐变, shape,根据形状渐变  只有一种
                "fillToRect":{//指定相对于填充平铺矩形,详细见官方文档FillToRectangle 
                    "b":0,//底部
                    "l":0,//左
                    "r":0,//右
                    "t":0//顶部
                }
            },
            "tileRect":{//此元素指定渐变应用于形状的矩形区域,详细见官方文档TileRectangle
                "b":0,//底部 
                "l":0,//左 
                "r":0,//右 
                "t":0//顶部 
            },
            "colors":{//颜色色带终结
               "color":"#FFFF00",
               "position":0//位置,色带的位置 百分比0-100
            }
        },
        "pattFill": {//图案填充
            "prst":"",//图案填充的内置图形 ltDnDiag 等 48种内置图案
            "fgClr":"",//前景色
            "bgClr":"",//背景色
            "base64":"",//图案重复填充的单元图案 8*8像素
        }
    },
    "id":"sasaergbdqsqwrv55673d44",// >>>update单页PPTX或者题目的uid
    "shaCode":"sasaergbdqsqwrv55673d44",// >>>update题目或者单页pptx的校验码 
    "index": 0,//第几页
    "width": 960.0,//单页宽度
    "height": 720.0,//单页高度
    "exercise": null,//从富文本导入的题目,单独做解析
    "render": 1,//>>>update 1 以htex 方式渲染  2 HTML来源,以html方式渲染 
    "colortag": "#00FFFF",//>>>update标记颜色
    "actmode":"collate_img", // 活動模式: <--(此欄位可省略 不出現, 等同 "無活動") <--(2022/08/18 - 2023/09/01)
              // (內定默認 == 無活動)
              // 若出現, 其值必為其中之一:
              // "buzzin"        <--(搶權)
              // "collate_img"   <--(作品收集圖檔)
              // "collate_audio" <--(作品收集聲音)
              // "collate_file"  <--(作品收集檔案)
              // "competition"   <--(搶答)
              // "star_score"    <--(星光大道 評分)
              // "star_vote"     <--(星光大道 投票)
              // "xscore"        <--(互評)
              // "cowork"        <--(協作) 2024/01/10
    "page_topic": [ // 當頁 特色主題 列表 2024/07/17
      {
         "name": "webmind", // 特色主題
         "data": "1a0b60fefcaee9175.txt" // 特色主題 所須之物件
      },
    ]              
    "help": ["1.备注内容第一段落","2.备注内容第二段落"]//>>>update解题思路或解题帮助提示,或者PPTX备注    
}

待討論問題

===========================================
註: 各頁 主欄位:
===========================================

可能調整:
   1.新增 "o00_colortag" : 當頁 顏色標記 欄位 (o00_colortag:"#00FFFFFF")>>>Doing,是指当页的背景色?
   2.新增 "o00_snapshot" : 當頁 小縮圖        (o00_snapshot:"p00001_snapshot.jpg")  >>>guidxxx_snapshot.jpg
       >>>Doing,可预留栏位,缩略图需要端上生成
   3.HiTeach 頁面背景:
     若為 純色, 則只填 type, solidFill (其它 blipFill, gradientFill, pattFill 等 3 大欄位, 全省略不會出現)
     若為 圖檔, 則只填 type, blipFill  (其它 solidFill, gradientFill, pattFill 等 3 大欄位, 全省略不會出現)
     >>>Done,此处的背景色是枚举所有填充方式,实作中只会有一种填充方式。

實作疑問:
   1.各頁 index, netxPage, prevPage: <--(因 當頁的 順序 已 明顯存在 htex 檔裡, 是否有必要 存在 ???)
    >>>Doing ,index,可保留,HiTeachCC端方便页数计算,跳转等。netxPage, prevPage可移除。
   2.題目 表示形式 ???  >>>Doing ,题目格式仍在定义中,待完成后此处疑问再做讨论。以下题出的疑问确实不符合逻辑的。
      (a):"exercise": null,//从富文本导入的题目,单独做解析
      (b):"source": 1,//1 htex  2 HTML  来源其中当flag =1 && source=1 ,时htex单页幻灯片即为 一个题目  
      (c):"flag": 1,//1, //1默认为普通页面,2为题目 当flag =1 &&  source=2时基于html或者基于Word转Html解析而来的 则为一个题目 

      依以上說明: 
      (b):"flag":1, "source":1
      flag = 1 && source=1 时, htex单页幻灯片即为 一个题目  

      (c):"flag":1, "source": 2
      flag = 1 &&  source=2 时, 基于html或者基于Word转Html解析而来的 则为一个题目 

      但 HiTeach 本身 也可能 分別為 "有/無" 題目時, 則變成:
      無題目時 (flag = 1 && source = 1) <---依 (b)說明, flag = 1 普通頁面, source = 1 htex
      有題目時 (flag = 1 && source = 1) <---依 (c)說明, flag = 1 普通頁面, source = 1 htex
      都相同, 分不出 是否 有題目

   3.圖檔填充 ??
      fill / blipFill / opacity: 0 是透明 或 不透明>>>Doing,待检查。
      fill / blipFill / tile 表示式 ???>>>Doing,待检查。
      fill / blipFill / fillRect 表示式 ??? 它的 l, t, r, b 之 值是否以 "100% = 100000" 來表示 ???
      >>>Doing,此表达式作用于 图片填充时,图案溢出边框的上下左右比例。