我有一个pdf文件的Inputstream。现在,我想从inputStream中提取所有字符串内容。我发现了以下示例。我应该使用第一个还是第二个?两者之间在性能上有什么区别吗? PDFParser在第二个中有什么用?
代码段1:
PDDocument doc = PDDocument.load(is);
PDFTextStripper stripper = new PDFTextStripper();
String result = stripper.getText(doc);
代码段2:
PDFTextStripper stripper = new PDFTextStripper();
PDFParser parser = new PDFParser(newRandomAccessBufferedFileInputStream(stream));
parser.parse();
doc = parser.getPDDocument();
String content = stripper.getText(doc);
先谢谢了!
答案 0 :(得分:1)
使用第一个代码。第二个代码也可以工作,但是已经过时并且没有什么不同,解析的内容在load()
中被调用。速度是一样的。通过使用文件作为参数或字节数组,您将获得最佳结果。使用流将需要PDFBox进行一些额外的缓冲。您的代码无法说明stream
的来源;如果它是FileInputStream
,则应改用File
。