Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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 - Fatal编程技术网

Java 如何检测不同类型的PDF

Java 如何检测不同类型的PDF,java,pdf,Java,Pdf,PDF文件扩展名可以通过魔法签名验证:25504446 但是,我想检测PDF是否包含文本或图像(即,PDF是否包含可使用ctrl+f搜索的文本,或者是否包含扫描的文档) 有没有办法做到这一点?从技术上讲,您可以解析PDF文档结构并查找包含文本的元素。我想这需要付出巨大的努力才能实现 因此,您可能希望使用预制的PDF包为您进行解析(PDFBox、BfoPDF或类似的东西)。不过,我认为这需要一些努力来实施 我所知道的最简单的方法是使用一个可以为您提取纯文本的包。Apache TIKA可以做到这一点

PDF文件扩展名可以通过魔法签名验证:
25504446

但是,我想检测PDF是否包含文本或图像(即,PDF是否包含可使用ctrl+f搜索的文本,或者是否包含扫描的文档)


有没有办法做到这一点?

从技术上讲,您可以解析PDF文档结构并查找包含文本的元素。我想这需要付出巨大的努力才能实现

因此,您可能希望使用预制的PDF包为您进行解析(PDFBox、BfoPDF或类似的东西)。不过,我认为这需要一些努力来实施

我所知道的最简单的方法是使用一个可以为您提取纯文本的包。Apache TIKA可以做到这一点。只要把文件给它,看看你能不能得到些什么


无论如何,很难对同时包含图像和文本的PDF进行分类。

iText、PDFBox和其他Java PDF库也提供了从PDF文件中提取文本或图像的功能。使用其中之一的能力,并在考虑没有OCR扫描的PDF(例如,页面上不超过50个非空白字符,但至少有50%的页面覆盖图像)时找到一些标准。这似乎是一个很好的技术。我试试看