栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

pdf转图片文字丢失,字体映射替换

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pdf转图片文字丢失,字体映射替换

pom引入

 
            org.apache.pdfbox
            pdfbox
            2.0.24
        

代码

 
    public  void pdf2Image(String pdfPath, String path) throws InterruptedException, IOException {
        File file = new File(pdfPath);
        try {
            PDdocument doc = PDdocument.load(file);

            int endPage = null == doc ? Integer.MAX_VALUE : doc.getNumberOfPages();
            PDFTextStripper stripper = new PDFTextStripper();
            stripper.setSortByPosition(true);
            stripper.setStartPage(1);
            stripper.setEndPage(endPage);
            String content = stripper.getText(doc);
            System.out.println("pdf 文件解析,内容为:" + content);

            PDFRenderer renderer = new PDFRenderer(doc);
            int pageCount = doc.getNumberOfPages();
            for (int i = 0; i < pageCount; i++) {
                BufferedImage image = renderer.renderImage(i, 1.5f);// Windows native DPI
                File file1 = new File(path);
                ImageIO.write(image, "JPG", file1);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

运行之后发现转换后的图片少了一个字,但是内容识别出来了,看了下日志

 Using fallback FZCHSJW--GB1-0 for CID-keyed font STSong-Light
 No glyph for 27765 (CID 38ac) in font STSong-Light

发现是运行时没有找到STSong-Light这个字体,使用FZCHSJW–GB1-0 这个字体进行替换,这个字体导致文字缺失
解决方法:
https://www.jianshu.com/p/b8692da38692

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602946.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号