Java 从PDf到字符串
将PDF文件的文本(单词)获取为一个长字符串或字符串数组的最简单方法是什么Java 从PDf到字符串,java,pdf,text,io,Java,Pdf,Text,Io,将PDF文件的文本(单词)获取为一个长字符串或字符串数组的最简单方法是什么 我试过pdfbox,但对我不起作用 JPedal和Multivalent也在Java中提供文本提取,或者您可以在许多较新的PDF上使用Runtime.execPDFBox BARF访问xpdf,尤其是那些嵌入PNG图像的PDF 使用iText给我留下了深刻的印象。例如,下面的代码片段将提取文本 PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("C:/
我试过pdfbox,但对我不起作用
JPedal
和Multivalent
也在Java
中提供文本提取,或者您可以在许多较新的PDF上使用Runtime.exec
PDFBox BARF访问xpdf
,尤其是那些嵌入PNG图像的PDF
使用iText给我留下了深刻的印象。例如,下面的代码片段将提取文本 PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("C:/Text.pdf")); parser.getTextFromPage(3); pdftextractor parser=newpdftextractor(newpdfreader(“C:/Text.pdf”); parser.getTextFromPage(3);
嗯,我使用Tika从pdf中提取原始文本(它基于PDFBox),但我认为Tika只有在您必须从不同的文件格式中提取文本时才有用(自动检测非常有用) 如果你只想把pdf解析成文本,我建议你 因为它是比其他API(如iText和PDFBox)更好的解析器 使用PDFTextStream,您可以轻松获取结构化文本(页面->块->行->文本单位),并可以提取相关信息,如字符编码、高度、字符在页面中的位置等 例如:
public class ExtractTextAllPages {
public static void main (String[] args) throws IOException {
String pdfFilePath = args[0];
PDFTextStream pdfts = new PDFTextStream(pdfFilePath);
StringBuilder text = new StringBuilder(1024);
pdfts.pipe(new OutputTarget(text));
pdfts.close();
System.out.printf("The text extracted from %s is:", pdfFilePath);
System.out.println(text);
}
}
pdfbox不起作用怎么办?您是否正在寻找替代方案或解决现有问题的方法?我也不喜欢API的设计,我已经快速查看了iText,我认为这是一个更好的选择。API似乎更符合我的需要。