文档转码功能

通过阅读本章节,您将了解文档转码的相关功能与使用方法。文档转码功能可以实现将PPT、PPTX、PDF等文档格式转码为png及jpg格式,借助互动白板进行实时翻页、标注与共享展示,支持在 Web端、PC 端提交文件转码任务,将 ppt 和 pdf 等文档转码为各种清晰度的图片存储在云端,再在各客户端获取、下载使用或者删除转码后的文档。SDK提供文档上传(PC/Web)、下载、删除、查询等文档使用中的各类功能接口。

拉取文档转码信息列表

文档分页查询协议,只有文档的所有者有权限进行查询,传入文档documentId来表示查询的起始文档的Id,若为空,表示从头开始查找,按照文档转码的发起时间降序排列,传入limit来表示查询的文档的最大数目,有最大值限制,目前为30,在回调结果中对查询结果处理。

    /**
     * 文档分页查询协议,仅文档的所有者有权限
     *
     * @param marker 查询的起始文档ID,若为空,表示从头开始查找,按照文档转码的发起时间降序排列
     * @param limit 查询的文档的最大数目,有最大值限制,目前为30
     * @param callback 回调函数,返回List<DMData>
     */
    public abstract void queryDocumentDataList(String marker, int limit, RequestCallback<List<DMData>> callback);
参数 说明
marker 查询的起始文档ID,若为空,表示从头开始查找,按照文档转码的发起时间降序排列。
limit 查询的文档的最大数目,有最大值限制,目前为30。
callback 回调函数。
DocumentManager.getInstance().queryDocumentDataList(documentId, limit, new RequestCallback<List<DMData>>() { ... });

查询文档转码信息

单个文档的查询协议,应用内的所有用户都可以查询,传入文档documentId来表示文档的id,在回调结果中对查询结果进行处理。

    /**
     * 单个文档的查询,app内的所有用户都可以查询
     *
     * @param id 文档ID
     * @param callback 回调函数,返回DMData
     */
    public abstract void querySingleDocumentData(String id, RequestCallback<DMData> callback);
参数 说明
id 文档ID。
callback 回调函数。
DocumentManager.getInstance().querySingleDocumentData(documentId, new RequestCallback<DMData>() { ... });

文档转码信息

拉取或查询到的文档信息都在 DMData 中。 可以查询到转码文档的 id,名称,源文档类型、大小、下载路径,转码目标图像的类型,转码状态等。发起文档转码时的附带信息 ext 是 PC 端提交文档转码任务时传入的额外信息。

/**
 * 文档转码结果.
 */

public interface DMData extends Serializable {
    /**
     * 获取文档ID,文档ID是文档的唯一标识
     */
    String getDocId();

    /**
     * 获取文档名称
     */
    String getDocName();

    /**
     * 获取文档下载链接前缀
     */
    String getUrlPrefix();

    /**
     * 获取文档大小,单位字节
     */
    long getDocSize() ;

    /**
     * 获取文档类型,PPT表示ppt,PPTX表示pptx,PDF表示pdf
     */
    DocTransFileType getDocType();

    /**
     * 获取文档转码状态,Preparing表示转码准备中,Ongoing表示转码中,Timeout表示转码超时,Completed表示转码成功,Failed表示转码失败
     */
    DocTransState getTransStat();

    /**
     * 获取文档的转码格式,10表示jpg,11表示png
     */
    DocTransImageType getTransType();

    /**
     * 获取转码后的图片总大小,单位字节
     */
    long getTransSize();

    /**
     * 获取文档页数
     */
    int getPageNum() ;

    /**
     * 获取文档转码结果,包含图片的信息
     */
    List<DMPicInfo> getPicInfoList() ;

    /**
     * 获取发起转码请求时上传的扩展字段
     */
    String getExtra();

    /**
     * 获取转码后某清晰度的文件页码对应的下载链接url,页码从1开始一直到getPageNum()的值
     */
    String getTransCodedUrl(int pageNumber, DMDocTransQuality quality);

    /**
     * 获取某清晰度转码后图片的详细信息
     */
    DMPicInfo getTransCodedImageInfo(DMDocTransQuality quality);
}

getTransCodedUrl参数说明: | 参数 | 说明 | | :-------- | :------ | | pageNumber | 页码。 | | quality | 文档转码质量。 |

getTransCodedImageInfo参数说明: | 参数 | 说明 | | :-------- | :------ | | quality | 文档转码质量。 |

//拉取文档转码信息列表或者查询文档转码信息后得到DMData类型的数据data,然后调用接口获取信息
data.getDocId();
data.getDocName();
data.getUrlPrefix();
data.getDocSize() ;
data.getDocType();
data.getTransStat();
data.getTransType();
data.getTransSize();
data.getPageNum();
data.getPicInfoList() ;
data.getExtra();
String url = data.getTransCodedUrl(1, DMDocTransQuality.MEDIUM);
DMPicInfo picInfo = date.getTransCodedImageInfo( DMDocTransQuality.MEDIUM);

删除云端的转码文档

单个文档删除协议(对于正在转码中的文档,删除后将不会收到转码结果的下发),传入documentId来表示需要删除的文档id,在回调结果中对删除结果进行处理。代码示例如下:

    /**
     * 文档删除协议(对于正在转码中的文档,删除后将不会收到转码结果的下发)
     *
     * @param id 文档ID
     * @param callback 回调函数
     */
    public abstract void delete(String id, RequestCallback<Void> callback);
参数 说明
id 文档ID。
callback 回调函数。
DocumentManager.getInstance().delete(documentId, new RequestCallback<Void>() { ... });