百度API:xlongwei

这个人提供的接口很多啊,也很实用:Word转Html、Word转Pdf、属性配置、手机号段、微信公众号消息加密、微信公众号消息解密、二维码、关键词、分词、拼音、生僻字、微博短链接。但是很多都不感兴趣的,除了一个,那就是中文分词啊。以前某天突然对浏览器以及编辑器中的鼠标双击事件直接选中词组或者一段数字很好奇。然后问群里人,群里说是中文分词,之后看书(应该是《暗时间》)也无意看到。还扯出了开始思考好多巧合不是巧合的未解决的心理问题。虽然现在的知识以及技术对自然语言还无法处理,但是用接口感受一下还是不算过分吧。

1.Word转Html、Word转Pdf

【选择Word文档】触发file类型的input的click事件(代码里面用了jquery,也可以直接用js写这块就不用引入jq文件了)。然后点转换,执行上传+转换。最后的链接就是本服务器存储的来自API的处理文件

 <html>
<head><meta charset="utf-8">
<script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('#wordx').click(function(){
$('#file').click();
});
});
</script>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" style="display:none"/>
<input type="button" id="wordx" value="选择Word文档">
<br />
<input type="submit" name="submit" value="WORD转Html" />
</form>
</body> </html>
<?php
$maxSize=5*1024*1024;//5M
if(!isset($_FILES["file"]["error"])){
exit;
}
if($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br />";
exit;
}else{
/* echo "Upload: " . $_FILES["file"]["name"] . "<br />";
//echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"].'<br/>';
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";*/ $suffix=substr(strrchr($_FILES["file"]["name"], '.'), 1);
if($suffix!='doc' && $suffix!='docx'){
echo '只允许doc和docx格式word文件';
exit;
}
if($_FILES["file"]["size"]>$maxSize){
echo '大于'.$maxSize/(1024*1024).'Mb';
exit;
} $name=date('YmdHis',time()).rand(1000,10000).'.'.$suffix;//拼接文件名
if (file_exists("upload/" . $name)){
echo $_FILES["file"]["name"] . " already exists. ";
exit;
}else{
$domain=$_SERVER['SERVER_NAME'];
$status=move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $name);
//echo "Stored in: " . "upload/" . $name;
$url="http://{$domain}/api/upload/{$name}";
if ( (!file_exists ("upload/{$name}")) || !$status){
echo '上传失败';
exit;
}else{
//echo "<a href='{$url}'>上传成功</a><br/>";
//echo "上传成功<br/>";
} //Word转Html $ch = curl_init();
$url = 'http://apis.baidu.com/xlongwei/open/doc2html?url='.$url;
$header = array(
'apikey:百度API密钥',
);
curl_setopt($ch, CURLOPT_HTTPHEADER , $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行HTTP请求
curl_setopt($ch , CURLOPT_URL , $url);
$res = curl_exec($ch);
$data=json_decode($res,true);
//var_dump($data);
$htmlurl=NULL;
if(isset($data['domain'])&&isset($data['path'])){
$htmlurl=$data['domain'].$data['path'];
$name=$name=date('YmdHis',time()).rand(1000,10000).'.html';
$status=copy($htmlurl,"html/" . $name);//网络链接的文件不能用move_uploaded_file,用了copy可以
if($status){
$htmlurl="http://{$domain}/api/html/{$name}";
}else{
//echo '挪动出错';
//exit;
}
echo "<a href='$htmlurl'>Html转换完成</a>"; }else{
echo '服务器错误,请重试。';
exit;
}
}
}
?>

Word转Html完整代码

Pdf类似,只是接口处有不同。感觉效果还蛮好的嘛。肯定了,又不是相反的接口。

2.二维码

我的神器海螺呢,还想问问二维码什么原理呢。

3.中文分词

Ansj中文分词 这是一个ictclas的java实现.

好棒,这分词。之后顺便把拼音也嵌入到分词中去。

其中单字有多音字就会有好几个音,比如这个吃(chi ji)、吐(tu3 tu4),所以判断存不存在header(header 是拼音的首拼)然后空格分割取第一个(因为看到第一个大多数比较准确且自己也分辨不出第几个是最好的啊)就OK。

挑一个BUG:不了了之 bulelezhi,为什么不加成语字典呢。

[4]xlongwei工具类的更多相关文章

  1. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  2. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  3. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  4. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  5. Guava库介绍之实用工具类

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...

  6. Java程序员的日常—— Arrays工具类的使用

    这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...

  7. .net使用正则表达式校验、匹配字符工具类

    开发程序离不开数据的校验,这里整理了一些数据的校验.匹配的方法: /// <summary> /// 字符(串)验证.匹配工具类 /// </summary> public c ...

  8. WebUtils-网络请求工具类

    网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...

  9. JAVA 日期格式工具类DateUtil.java

    DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...

随机推荐

  1. grep 正则表达式

    本文转自:http://www.jb51.net/article/31207.htm 正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.aw ...

  2. SqlServer按时间自动生成生成单据编号

    SET @_tmpDateTime = GETDATE() EXEC dbo.Dtw_Common_GenerateProofCode @ProofType = 'SO',@WhsCode=@WhsC ...

  3. [perl]字符串转拼音首字母(支持多音字)

    实现的思路是,查表找到该字的所有读音,然后取首字母. 代码: while (<DATA>) { chomp; })(.*)$/; $all =~ s/^\s+//; ### 只保留无音标号 ...

  4. 祝贺 Linux 25 岁:25 个关于 Linux 的惊人真相!【转载】

    作者:Javen Fang链接:https://zhuanlan.zhihu.com/p/22222383来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 25 年前的这 ...

  5. 简述UIScrollView的属性和用法

    contentOffset 默认CGPointZero,用来设置scrollView的滚动偏移量.       // 设置scrollView的滚动偏移量       scrollView.conte ...

  6. 1.0 UIApplication对象

    本文并非最终版本,如有更新或更正会第一时间置顶,联系方式详见文末 如果觉得本文内容过长,请前往本人 “简书”   UIApplication对象特点: 特点1: UIApplication对象是应用程 ...

  7. 【BZOJ】3922: Karin的弹幕

    题意 给定一个长度为\(n(1 \le n \le 70000)\)序列,\(m(1 \le m \le 70000)\)次操作:1. 对一段下标是等差数列的子序列求最大值:2. 单点修改. 分析 如 ...

  8. ZeroMQ接口函数之 :zmq_null - 无安全和加密

    ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq_null zmq_null(7) ØMQ Manual - ØMQ/4.1.0 Name zmq_null - 无 ...

  9. OpenGL光照和颜色

    OpenGL光照和颜色 转自:http://www.cnblogs.com/kekec/archive/2011/08/16/2140789.html OpenGL场景中模型颜色的产生,大致为如下的流 ...

  10. EF 5 最佳实践白皮书

    Performance Considerations for Entity Framework 5 By David Obando, Eric Dettinger and others Publish ...