Class ResourceManage

java.lang.Object
org.ofdrw.reader.ResourceManage

public class ResourceManage extends Object
资源管理器(只读)

使用ID随机访问文档中出现的资源对象

包括 公共资源序列(PublicRes) 和 文档资源序列(DocumentRes)

注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改,所有提供的对象 中文档的相对路径均在加载时转换为绝对路径。

Since:
2021-04-10 11:06:00
Author:
权观宇
  • Constructor Details

    • ResourceManage

      public ResourceManage(OFDReader ofdReader)
      创建资源管理器

      选择默认文档(Doc_0)进行资源的加载

      Parameters:
      ofdReader - OFD解析器
    • ResourceManage

      public ResourceManage(OFDReader ofdReader, int docNum)
      指定文档创建资源管理器
      Parameters:
      ofdReader - OFD解析器
      docNum - 文档序号,从0起
  • Method Details

    • getDrawParam

      public CT_DrawParam getDrawParam(String id)
      获取绘制参数

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Parameters:
      id - 资源ID
      Returns:
      绘制参数,不存在返回null
    • getDrawParamFinal

      public CT_DrawParam getDrawParamFinal(String id)
      递归的解析绘制参数并覆盖配置参数内容
      Parameters:
      id - 资源ID
      Returns:
      绘制参数,不存在返回null
    • superDrawParam

      public CT_DrawParam superDrawParam(CT_DrawParam current, List<String> visited)
      寻找继承属性用于覆盖当前为空的属性
      Parameters:
      current - 当前需要子节点
      visited - 访问路径(用于检测循环引用)
      Returns:
      补全后的子节点副本
    • superDrawParam

      public CT_DrawParam superDrawParam(CT_DrawParam current)
      寻找继承属性用于覆盖当前为空的属性
      Parameters:
      current - 当前需要子节点
      Returns:
      补全后的子节点副本
    • superDrawParam

      public CT_DrawParam superDrawParam(CT_GraphicUnit<?> current)
      补充 图元信息 通过引用的配置参数

      尝试将图元中描述的绘制信息和引用的绘制参数进行合并

      Parameters:
      current - 当前图元对象
      Returns:
      继承到的绘制参数
    • getMultiMedia

      public CT_MultiMedia getMultiMedia(String id)
      获取多媒体对象

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Parameters:
      id - 资源ID
      Returns:
      多媒体对象,不存在返回null
    • getImage

      public BufferedImage getImage(String refID) throws IOException
      获取图片资源的图片对象
      Parameters:
      refID - 引用ID
      Returns:
      图片对象
      Throws:
      IOException - IO异常
    • getImageByteArray

      public byte[] getImageByteArray(String refID) throws IOException
      获取图片资源的图片对象
      Parameters:
      refID - 引用ID
      Returns:
      byte[]
      Throws:
      IOException - IO异常
    • getImage

      public BufferedImage getImage(ImageObject imageObject) throws IOException
      获取图片对象的图像

      如果图片存在蒙板,那么返回蒙板后的图像

      Parameters:
      imageObject - 图片对象
      Returns:
      图片对象(蒙板后的图像)
      Throws:
      IOException - 图片操作IO异常
    • getFont

      public CT_Font getFont(String id)
      获取 字形

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Parameters:
      id - 资源ID
      Returns:
      字形,不存在返回null
    • getColorSpace

      public CT_ColorSpace getColorSpace(String id)
      获取颜色空间

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Parameters:
      id - 资源ID,如果为null则返回 Document.xml CommonData 中的默认颜色空间
      Returns:
      颜色空间,不存在返回null(null时默认RGB)
    • getCompositeGraphicUnit

      public CT_VectorG getCompositeGraphicUnit(String id)
      获取矢量图形

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Parameters:
      id - 资源ID
      Returns:
      矢量图形,不存在返回null
    • loadDoc

      public ResourceManage loadDoc(int docNum) throws IOException, org.dom4j.DocumentException
      加载指定文档的资源

      由于每个文档的ID体系都是独立的,

      所以资源也是独立的,因此每次加载都会对上一个文档的资源进行清理。

      Parameters:
      docNum - 文档序号,从0起
      Returns:
      this
      Throws:
      IOException - 文件读写异常
      org.dom4j.DocumentException - 文档解析异常
    • getColorSpaces

      public List<CT_ColorSpace> getColorSpaces()
      获取文档中所有 颜色空间

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Returns:
      颜色空间列表
    • getDrawParams

      public List<CT_DrawParam> getDrawParams()
      获取文档中所有 绘制参数

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Returns:
      绘制参数
    • getFonts

      public List<CT_Font> getFonts()
      获取文档中所有 字形

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Returns:
      字形
    • getMultiMedias

      public List<CT_MultiMedia> getMultiMedias()
      获取文档中所有 媒体对象

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Returns:
      媒体对象
    • getCompositeGraphicUnits

      public List<CT_VectorG> getCompositeGraphicUnits()
      获取文档中所有 矢量图形

      注意:资源管理器提供的资源对象均为只读对象(副本),不允许对资源进行修改。

      Returns:
      矢量图形
    • getOfdReader

      public OFDReader getOfdReader()
      Returns:
      解析器
    • get

      public OFDElement get(String id)
      通过ID获取资源

      如果资源不存在,那么返回null

      Parameters:
      id - 资源ID
      Returns:
      资源对象,null