暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

必知开源项目 - Apache Tika 2

整码阁 2021-06-20
1453

接上篇必知开源项目 - Apache Tika 1,本文通过Tika API版、桌面版和服务器版演示Tika的使用。

API版
0. 新建Java Maven项目,这里简化此步骤,文末提供完整参考代码下载;
1. 使用Tika Facade检测文档类型;
public String detectDocTypeUsingFacade(InputStream stream) throws IOException {
Tika tika = new Tika();
String mediaType = tika.detect(stream);
return mediaType;
}
2. 使用Tika Facade提取文档元数据;
public Metadata parseMetadataUsingFacade(InputStream stream) throws IOException, TikaException {
Tika tika = new Tika();
Metadata metadata = new Metadata();
tika.parse(stream, metadata);
return metadata;
}
3. 使用ImageParse提取png元数据;
Tika针对JPG图片提供专用解析器JpegParser,但PNG图片使用通用解析器ImageParser;
解析器需要四个参数:文档流、文档内容处理器、元数据对象和上下文对象;
针对PNG格式还需要在Metadata对象指定Content-Type,否则无法提取元数据;
public static void parsePng(InputStream stream) throws TikaException, IOException, SAXException {
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
metadata.set("Content-Type", "image/png");
ParseContext context = new ParseContext();
ImageParser parser = new ImageParser();
parser.parse(stream, handler, metadata, context);
System.out.println("Metadata:");
String[] metadataNames = metadata.names();
for (String name : metadataNames) {
System.out.println(name + ": " + metadata.get(name));
}
}

以上代码片段应用场景简单,但也可以反映出Tika API的简约和直接,学习曲线平缓。

桌面版

1. 打开 https://tika.apache.org/download.html,找到包含 tika-app-XXX.jar 链接,下载可执行文件;
2. java -jar tika-app-1.26.jar --gui 打开Tika图形化界面

3. java -jar tika-app-1.26.jar --metadata tika.pdf  提取pdf文档元数据
4. java -jar tika-app-1.26.jar --detect tika.pdf 检测pdf文档类型
5. java -jar tika-app-1.26.jar --text tika.pdf 提取pdf文档内容

服务器版

1. 打开 https://tika.apache.org/download.html,找到包含 tika-server-XXX.jar 的链接,下载可执行文件;
2. java -jar tika-server-1.26.jar 启动本地服务器;
3. 在浏览器输入 http://localhost:9998/ 查看Tika REST API列表及使用;
4. 打开Postman,根据上图提示,测试提取文档元数据API;

如果喜欢,就亲自动手试一下吧!

文章转载自整码阁,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论