使用PDFBox从PDF中读取一些unicode字符的问题

时间:2016-09-05 05:30:11

标签: java pdf unicode pdfbox

我是PDFBOX的新手。我正在读一份印地语的PDF文件 我无法使用PDFBox从PDF中读取一些unicode字符 我想将字符串复制到java对象中,以便我可以处理它。

我尝试过阅读文件的几件事 1.我尝试使用PDFTextStripper从文档中读取文本,但它会打印垃圾值并警告缺少unicode映射。

    PDDocument document = PDDocument.load(pathToFile);
    PDFTextStripper s = new PDFTextStripper();
    System.out.println(s.getText(document));//prints garbage values
    System.out.println(document.getNumberOfPages());//right output
    PDPageTree pages = document.getPages();
    System.out.println(pages.get(0).getResources().getFontNames()); //prints [COSName{TT1}, COSName{TT3}, COSName{TT8}]
  1. 我试图简单地提取文件的内容并将其写回其他文件。令我惊讶的是,它确实读取了一些字符(例如在图像中选择的文本),但我无法读取以粗体显示的值。

    private static void extractTextUse(String pdfFile) throws IOException
    {
        ExtractText.main(new String[]{pdfFile, "E:\\try-1.txt"}); 
    }
    
  2. 我基本上想将字符串复制到java对象中。

    以下是我在两个实例上阅读PDF文件时收到的警告

    Sep 05, 2016 10:00:37 AM org.apache.pdfbox.pdmodel.font.PDType0Font toUnicode
    WARNING: No Unicode mapping for CID+231 (231) in font JCBMGH+Mangal
    Sep 05, 2016 10:00:37 AM org.apache.pdfbox.pdmodel.font.PDType0Font toUnicode
    WARNING: No Unicode mapping for CID+232 (232) in font JCBLPH+Mangal,Bold
    Sep 05, 2016 10:00:38 AM org.apache.pdfbox.pdmodel.font.PDType0Font toUnicode
    WARNING: No Unicode mapping for CID+227 (227) in font JCBLPH+Mangal,Bold
    

0 个答案:

没有答案