/// <summary> /// 拼接文档图片的下载地址 /// </summary> /// <param name="urlPrefix">文档信息中的url前缀</param> /// <param name="imgType">文档转换的图片类型</param> /// <param name="quality">需要的图片清晰度</param> /// <param name="pageNum">图片页码(从1开始计算)</param> /// <returns></returns> public static string GetPageUrl(string urlPrefix, NIMDocTranscodingImageType imgType, NIMDocTranscodingQuality quality, int pageNum) { var ptr = DocTransNativeMethods.nim_doctrans_get_page_url(urlPrefix, imgType, quality, pageNum); NimUtility.Utf8StringMarshaler marshaler = new NimUtility.Utf8StringMarshaler(); string url = marshaler.MarshalNativeToManaged(ptr) as string; GlobalAPI.FreeBuffer(ptr); return(url); }
/// <summary> /// 拼接文档源的下载地址 /// </summary> /// <param name="urlPrefix">文档信息中的url前缀</param> /// <param name="fileType">文档源类型</param> /// <returns></returns> public static string GetSourceFileUrl(string urlPrefix, NIMDocTranscodingFileType fileType) { var ptr = DocTransNativeMethods.nim_doctrans_get_source_file_url(urlPrefix, fileType); NimUtility.Utf8StringMarshaler marshaler = new NimUtility.Utf8StringMarshaler(); string url = marshaler.MarshalNativeToManaged(ptr) as string; GlobalAPI.FreeBuffer(ptr); return(url); }
/// <summary> /// 根据文档id删除服务器记录,对于正在转码中的文档,删除后将不会收到转码结果的通知 /// </summary> /// <param name="id">文档id</param> /// <param name="cb"></param> public static void DeleteTransition(string id, DocTransDelegate cb) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); DocTransNativeMethods.nim_doctrans_del_info(id, null, DefaultTransCallback, ptr); }
/// <summary> /// 根据文档id查询文档信息 /// </summary> /// <param name="id">查询的起始docId,若为空,表示从头开始查找,按照文档转码的发起时间降序排列</param> /// <param name="limit">查询的文档的最大数目,有最大值限制,目前为30</param> /// <param name="cb"></param> public static void GetTransitionInfoList(string id, int limit, GetTransListDelegate cb) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); DocTransNativeMethods.nim_doctrans_get_info_list(id, limit, null, GetTransListCb, ptr); }
/// <summary> /// 册文档转换的结果的回调通知(服务器异步转换,客户端需要等待通知才知道转换结果) /// </summary> /// <param name="cb"></param> public static void RegisterNotifyCallback(DocTransDelegate cb) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); DocTransNativeMethods.nim_doctrans_reg_notify_cb(null, GlobalTransCallback, ptr); }