我是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}]
我试图简单地提取文件的内容并将其写回其他文件。令我惊讶的是,它确实读取了一些字符(例如在图像中选择的文本),但我无法读取以粗体显示的值。
private static void extractTextUse(String pdfFile) throws IOException
{
ExtractText.main(new String[]{pdfFile, "E:\\try-1.txt"});
}
我基本上想将字符串复制到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