使用tika将pdf转为html

序

tika是个功能强大的项目,这里展示下如何使用tika来将pdf转为html。

maven

<!--start of tika-->
        <!-- https://mvnrepository.com/artifact/org.apache.tika/tika-core -->
        <dependency>
            <groupId>org.apache.tika</groupId>
            <artifactId>tika-core</artifactId>
            <version>1.16</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.tika/tika-parsers -->
        <dependency>
            <groupId>org.apache.tika</groupId>
            <artifactId>tika-parsers</artifactId>
            <version>1.16</version>
        </dependency>

        <!--end of tika -->

转换

public static String extractHtml(File file) throws IOException {
        byte[] bytes = Files.toByteArray(file);
        AutoDetectParser tikaParser = new AutoDetectParser();
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
        TransformerHandler handler;
        try {
            handler = factory.newTransformerHandler();
        } catch (TransformerConfigurationException ex) {
            throw new IOException(ex);
        }
        handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "html");
        handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes");
        handler.getTransformer().setOutputProperty(OutputKeys.ENCODING, "UTF-8");
        handler.setResult(new StreamResult(out));
        ExpandedTitleContentHandler handler1 = new ExpandedTitleContentHandler(handler);
        try {
            tikaParser.parse(new ByteArrayInputStream(bytes), handler1, new Metadata());
        } catch (SAXException | TikaException ex) {
            throw new IOException(ex);
        }
        return new String(out.toByteArray(), "UTF-8");
    }

小结

效果对比的话,pdfDom的效果好一点。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,794评论 4赞 61
  • 路过广场,看到一群人围观,中国人好奇心颇重,我自然也不能免俗。 停车上前,原来是一位美女在现场录快手,简单音响,一...
    枯藤残鸦阅读 316评论 0赞 3
  • 我致力於推廣的吃魚理論,如果說其核心是"買得好不如買得巧",那麼其操作理念就是順勢操作。然而一般投資人所認知的"順...
    詩魂阅读 142评论 0赞 0
  • 01) 那天桃子给我发微信:聪聪,你说那个可恶的娜娜,又在朋友圈炫耀她的欧洲之旅,上个月刚刚晒完香奈儿的包包,上上...
    原来是匆匆啊阅读 427评论 0赞 1
  • 我也很想在简书上写写一些见闻,奈何思量好久却没有身体力行。我们总有好多借口:工作太忙,下班后要看好看的电影...
    雪心狐阅读 205评论 0赞 0

友情链接更多精彩内容