@@ -2043,6 +2043,296 @@ function getWebpageAuditingResult() {
20432043 } ) ;
20442044}
20452045
2046+ // 查询已经开通文档预览的存储桶
2047+ function describeDocProcessBuckets ( ) {
2048+ var host = 'ci.' + config . Region + '.myqcloud.com/docbucket' ;
2049+ var url = 'https://' + host ;
2050+ cos . request ( {
2051+ Method : 'GET' ,
2052+ Key : 'docbucket' ,
2053+ Url : url ,
2054+ Query : {
2055+ // regions: '', /* 非必须,地域信息,以“,”分隔字符串,支持 All、ap-shanghai、ap-beijing */
2056+ // bucketNames: '', /* 非必须,存储桶名称,以“,”分隔,支持多个存储桶,精确搜索 */
2057+ // bucketName: '', /* 非必须,存储桶名称前缀,前缀搜索 */
2058+ // pageNumber: 1, /* 非必须,第几页 */
2059+ // pageSize: 10, /* 非必须,每页个数 */
2060+ } ,
2061+ } ,
2062+ function ( err , data ) {
2063+ logger . log ( err || data ) ;
2064+ } ) ;
2065+ }
2066+
2067+ // 获取文档预览url
2068+ function getDocPreviewUrl ( ) {
2069+ cos . getObjectUrl ( {
2070+ Bucket : config . Bucket , // Bucket 格式:test-1250000000
2071+ Region : config . Region ,
2072+ Key : '1/文档.docx' ,
2073+ Query : {
2074+ 'ci-process' : 'doc-preview' , /* 必须,数据万象处理能力,文档预览固定为 doc-preview */
2075+ srcType : 'docx' , /* 非必须,源数据的后缀类型,当前文档转换根据 COS 对象的后缀名来确定源数据类型。当 COS 对象没有后缀名时,可以设置该值 */
2076+ // page: '', /* 非必须,需转换的文档页码,默认从1开始计数;表格文件中 page 表示转换的第 X 个 sheet 的第 X 张图 */
2077+ // dstType: '', /* 非必须,转换输出目标文件类型 */
2078+ } ,
2079+ } , function ( err , data ) {
2080+ logger . log ( err || data ) ;
2081+ if ( err ) {
2082+ console . log ( err ) ;
2083+ } else {
2084+ var url = data . Url ;
2085+ console . log ( url ) ;
2086+ }
2087+ } ) ;
2088+ }
2089+
2090+ // 查询文档转码队列
2091+ function describeDocProcessQueues ( ) {
2092+ var host = config . Bucket + '.ci.' + config . Region + '.myqcloud.com/docqueue' ;
2093+ var url = 'https://' + host ;
2094+ cos . request ( {
2095+ Method : 'GET' ,
2096+ Key : 'docqueue' ,
2097+ Url : url ,
2098+ Query : {
2099+ // queueIds: '', /* 非必须,队列 ID,以“,”符号分割字符串 */
2100+ // state: '', /* 非必须,1=Active,2=Paused */
2101+ // pageNumber: 1, /* 非必须,第几页 */
2102+ // pageSize: 2, /* 非必须,每页个数 */
2103+ } ,
2104+ } ,
2105+ function ( err , data ) {
2106+ logger . log ( err || data ) ;
2107+ } ) ;
2108+ }
2109+
2110+ // 更新文档预览队列
2111+ function updateDocProcessQueue ( ) {
2112+ var queueId = 'pa2e2c3d3fae042de909cafc16f1d801b' ; // 替换成自己的队列id
2113+ var host = config . Bucket + '.ci.' + config . Region + '.myqcloud.com/docqueue/' + queueId ;
2114+ var url = 'https://' + host ;
2115+ var body = COS . util . json2xml ( {
2116+ Request : {
2117+ Name : 'queue-doc-process-1' , // 替换成自己的队列name
2118+ QueueID : queueId ,
2119+ State : 'Active' ,
2120+ NotifyConfig : {
2121+ State : 'Off' ,
2122+ }
2123+ }
2124+ } ) ;
2125+ cos . request ( {
2126+ Method : 'PUT' ,
2127+ Key : 'docqueue/' + queueId ,
2128+ Url : url ,
2129+ Body : body ,
2130+ ContentType : 'application/xml' ,
2131+ } ,
2132+ function ( err , data ) {
2133+ logger . log ( err || data ) ;
2134+ } ) ;
2135+ }
2136+
2137+ // 提交文档转码任务
2138+ function createDocProcessJobs ( ) {
2139+ var host = config . Bucket + '.ci.' + config . Region + '.myqcloud.com/doc_jobs' ;
2140+ var url = 'https://' + host ;
2141+ var body = COS . util . json2xml ( {
2142+ Request : {
2143+ Tag : 'DocProcess' ,
2144+ Input : {
2145+ Object : '1/文档.docx' , // 存在cos里的路径
2146+ } ,
2147+ Operation : {
2148+ DocProcess : {
2149+ TgtType : 'jpg' ,
2150+ } ,
2151+ Output : {
2152+ Bucket : config . Bucket ,
2153+ Region : config . Region ,
2154+ Object : '1/文档转码_${Number}.jpg' , // 转码后存到cos的路径
2155+ } ,
2156+ } ,
2157+ QueueId : 'pa2e2c3d3fae042de909cafc16f1d801b' , // 替换成自己的queueId
2158+ }
2159+ } ) ;
2160+ cos . request ( {
2161+ Method : 'POST' ,
2162+ Key : 'doc_jobs' ,
2163+ Url : url ,
2164+ Body : body ,
2165+ ContentType : 'application/xml' ,
2166+ } ,
2167+ function ( err , data ) {
2168+ logger . log ( err || data ) ;
2169+ } ) ;
2170+ }
2171+
2172+ // 查询指定的文档预览任务
2173+ function describeDocProcessJob ( ) {
2174+ var jobId = 'd87fbabd07b8611ed974b3f4b4064872e' ; // 替换成自己的jogId
2175+ var host = config . Bucket + '.ci.' + config . Region + '.myqcloud.com/doc_jobs/' + jobId ;
2176+ var url = 'https://' + host ;
2177+ cos . request ( {
2178+ Method : 'GET' ,
2179+ Key : 'doc_jobs/' + jobId ,
2180+ Url : url ,
2181+ } ,
2182+ function ( err , data ) {
2183+ logger . log ( err || data ) ;
2184+ } ) ;
2185+ }
2186+
2187+ // 拉取符合条件的文档预览任务
2188+ function describeDocProcessJobs ( ) {
2189+ var host = config . Bucket + '.ci.' + config . Region + '.myqcloud.com/doc_jobs' ;
2190+ var url = 'https://' + host ;
2191+ cos . request ( {
2192+ Method : 'GET' ,
2193+ Key : 'doc_jobs' ,
2194+ Url : url ,
2195+ Query : {
2196+ queueId : 'pa2e2c3d3fae042de909cafc16f1d801b' , // 替换成自己的queueId
2197+ tag : 'DocProcess' ,
2198+ } ,
2199+ } ,
2200+ function ( err , data ) {
2201+ logger . log ( err || data ) ;
2202+ } ) ;
2203+ }
2204+
2205+ // 文档转 HTML
2206+ function getDocHtmlUrl ( ) {
2207+ cos . getObjectUrl ( {
2208+ Bucket : config . Bucket , // Bucket 格式:test-1250000000
2209+ Region : config . Region ,
2210+ Key : '1/文档.docx' ,
2211+ Query : {
2212+ 'ci-process' : 'doc-preview' , /* 必须,数据万象处理能力,文档预览固定为 doc-preview */
2213+ // srcType: '', /* 非必须,源数据的后缀类型,当前文档转换根据 COS 对象的后缀名来确定源数据类型。当 COS 对象没有后缀名时,可以设置该值 */
2214+ // page: '', /* 非必须,需转换的文档页码,默认从1开始计数;表格文件中 page 表示转换的第 X 个 sheet 的第 X 张图 */
2215+ dstType : 'html' , /* 非必须,转换输出目标文件类型 */
2216+ } ,
2217+ } , function ( err , data ) {
2218+ if ( err ) {
2219+ console . log ( err ) ;
2220+ } else {
2221+ // 使用浏览器打开url即可预览
2222+ var url = data . Url ;
2223+ console . log ( url ) ;
2224+ }
2225+ } ) ;
2226+ }
2227+
2228+ // 识别图片标签
2229+ function getImageLabel ( ) {
2230+ var key = '1/素材.jpeg' ;
2231+ var host = config . Bucket + '.cos.' + config . Region + '.myqcloud.com/' + key ;
2232+ var url = 'https://' + host ;
2233+ cos . request ( {
2234+ Method : 'GET' ,
2235+ Key : key ,
2236+ Url : url ,
2237+ Query : {
2238+ 'ci-process' : 'detect-label'
2239+ } ,
2240+ } ,
2241+ function ( err , data ) {
2242+ logger . log ( err || data ) ;
2243+ } ) ;
2244+ }
2245+
2246+ // 二维码识别(上传时识别)
2247+ function identifyQrcode_put ( ) {
2248+ util . selectLocalFile ( function ( files ) {
2249+ var file = files && files [ 0 ] ;
2250+ if ( ! file ) return ;
2251+ cos . putObject ( {
2252+ Bucket : config . Bucket , // Bucket 格式:test-1250000000
2253+ Region : config . Region ,
2254+ Key : '1/上传二维码.png' ,
2255+ Body : file ,
2256+ Headers : {
2257+ // 通过 imageMogr2 接口使用图片缩放功能:指定图片宽度为 200,宽度等比压缩
2258+ 'Pic-Operations' :
2259+ '{"is_pic_info": 1, "rules": [{"fileid":"test.jpg","rule":" QRcode/cover/0"}]}' ,
2260+ } ,
2261+ onProgress : function ( progressData ) {
2262+ logger . log ( 'onProgress' , JSON . stringify ( progressData ) ) ;
2263+ } ,
2264+ } , function ( err , data ) {
2265+ logger . log ( 'CIExample1:' , err || data ) ;
2266+ } ) ;
2267+ } ) ;
2268+ }
2269+
2270+ // 二维码识别(下载时识别)
2271+ function identifyQrcode_get ( ) {
2272+ var key = '1/二维码图片.png' ;
2273+ var host = config . Bucket + '.cos.' + config . Region + '.myqcloud.com/' + key ;
2274+ var url = 'https://' + host ;
2275+ cos . request ( {
2276+ Method : 'GET' ,
2277+ Key : key ,
2278+ Url : url ,
2279+ Query : {
2280+ 'ci-process' : 'QRcode'
2281+ } ,
2282+ } ,
2283+ function ( err , data ) {
2284+ logger . log ( err || data ) ;
2285+ } ) ;
2286+ }
2287+
2288+ // 二维码生成
2289+ function generateQrcode ( ) {
2290+ var host = config . Bucket + '.cos.' + config . Region + '.myqcloud.com' ;
2291+ var url = 'https://' + host ;
2292+ cos . request ( {
2293+ Method : 'GET' ,
2294+ Key : '' ,
2295+ Url : url ,
2296+ Query : {
2297+ 'ci-process' : 'qrcode-generate' , /* 必须,对象存储处理能力,二维码生成参数为 qrcode-generate */
2298+ 'qrcode-content' : '二维码文案' , /* 必须,可识别的二维码文本信息 */
2299+ // mode: 0, /* 非必须,生成的二维码类型,可选值:0或1。0为二维码,1为条形码,默认值为0 */
2300+ width : 200 , /* 必须,指定生成的二维码或条形码的宽度,高度会进行等比压缩 */
2301+ } ,
2302+ } ,
2303+ function ( err , data ) {
2304+ if ( ! err ) {
2305+ // 获得二维码base64
2306+ var imgBase64 = data . Response . ResultImage ;
2307+ // 比如可拼接前缀直接展示在img里
2308+ // document.querySelector('#img').src = 'data:image/jpg;base64,' + imgBase64;
2309+ }
2310+ } ) ;
2311+ }
2312+
2313+ // 图片文字识别
2314+ function orc ( ) {
2315+ var key = '1/素材.jpeg' ;
2316+ var host = config . Bucket + '.cos.' + config . Region + '.myqcloud.com/' + key ;
2317+ var url = 'https://' + host ;
2318+ cos . request ( {
2319+ Method : 'GET' ,
2320+ Key : key ,
2321+ Url : url ,
2322+ Query : {
2323+ 'ci-process' : 'OCR' , /* 必须,数据万象处理能力,图片文字识别固定为 OCR。 */
2324+ // type: '', /* 非必须,OCR 的识别类型 */
2325+ // 'language-type': '', /* 非必须,type 值为 general 时有效,表示识别语言类型 */
2326+ // ispdf: false, /* 非必须,type 值为 general、fast 时有效,表示是否开启 PDF 识别 */
2327+ // 'pdf-pagenumber': '', /* 非必须,type 值为 general、fast 时有效,表示需要识别的 PDF 页面的对应页码 */
2328+ // isword: false, /* 非必须,type 值为 general、accurate 时有效,表示识别后是否需要返回单字信息 */
2329+ // 'enable-word-polygon': false, /* 非必须,type 值为 handwriting 时有效,表示是否开启单字的四点定位坐标输出 */
2330+ } ,
2331+ } ,
2332+ function ( err , data ) {
2333+ logger . log ( err || data ) ;
2334+ } ) ;
2335+ }
20462336
20472337( function ( ) {
20482338 var list = [
@@ -2150,6 +2440,19 @@ function getWebpageAuditingResult() {
21502440 'getDocumentAuditingResult' ,
21512441 'postWebpageAuditing' ,
21522442 'getWebpageAuditingResult' ,
2443+ 'describeDocProcessBuckets' ,
2444+ 'getDocPreviewUrl' ,
2445+ 'describeDocProcessQueues' ,
2446+ 'updateDocProcessQueue' ,
2447+ 'createDocProcessJobs' ,
2448+ 'describeDocProcessJob' ,
2449+ 'describeDocProcessJobs' ,
2450+ 'getDocHtmlUrl' ,
2451+ 'getImageLabel' ,
2452+ 'identifyQrcode_put' ,
2453+ 'identifyQrcode_get' ,
2454+ 'generateQrcode' ,
2455+ 'orc' ,
21532456 ] ;
21542457 var labelMap = {
21552458 putObject : '简单上传' ,
@@ -2186,6 +2489,19 @@ function getWebpageAuditingResult() {
21862489 getDocumentAuditingResult : '查询文档审核任务结果' ,
21872490 postWebpageAuditing : '提交网页审核任务' ,
21882491 getWebpageAuditingResult : '查询网页审核任务结果' ,
2492+ describeDocProcessBuckets : '查询文档预览开通状态' ,
2493+ getDocPreviewUrl : '文档转码同步请求' ,
2494+ describeDocProcessQueues : '查询文档转码队列' ,
2495+ updateDocProcessQueue : '更新文档转码队列' ,
2496+ createDocProcessJobs : '提交文档预览任务 ' ,
2497+ describeDocProcessJob : '查询指定的文档预览任务' ,
2498+ describeDocProcessJobs : '拉取符合条件的文档预览任务' ,
2499+ getDocHtmlUrl : '文档转 HTML' ,
2500+ getImageLabel : '识别图片标签' ,
2501+ identifyQrcode_put : '二维码识别(上传时识别)' ,
2502+ identifyQrcode_get : '二维码识别(下载时识别)' ,
2503+ generateQrcode : '二维码生成' ,
2504+ orc : '图片文字识别' ,
21892505 } ;
21902506 var container = document . querySelector ( '.main' ) ;
21912507 var html = [ ] ;
0 commit comments