Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从PDf到字符串_Java_Pdf_Text_Io - Fatal编程技术网

Java 从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:/

将PDF文件的文本(单词)获取为一个长字符串或字符串数组的最简单方法是什么


我试过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似乎更符合我的需要。