当前位置: 首页 > 面试题库 >

如何确定文件是否为PDF文件?

杜良骏
2023-03-14
问题内容

我在Java中使用PdfBox从PDF文件提取文本。提供的某些输入文件无效,这些文件上的PDFTextStripper暂停。有没有一种干净的方法来检查提供的文件是否确实是有效的PDF?


问题答案:

您可以找出文件(或字节数组)的mime类型,因此不必盲目地依赖扩展名。我是用光圈的MimeExtractor(http://aperture.sourceforge.net/)来完成的,或者几天前我看到了一个专门为此使用的库(http://sourceforge.net/projects/mime-
util

我使用光圈从各种文件中提取文本,不仅是pdf,而且还需要例如针对pdf进行调整(光圈使用pdfbox,但是当pdfbox失败时我添加了另一个库作为后备)



 类似资料:
  • 问题内容: 我最喜欢的Linux工具之一是lsof-真正的瑞士军刀! 今天,我发现自己想知道WinXP系统上的哪些程序打开了特定文件。有与lsof等效的工具吗?此外,有问题的文件是通过网络共享进行的,因此我不确定是否会使问题复杂化。 问题答案: 使用Sysinternals Suite中的Process Explorer,Find Handle或DLL函数将让您搜索打开该文件的过程。

  • 问题内容: 如何使用免费/开源Java API确定给定PDF文件中的页数? 问题答案: 您可以使用Apache PDFBox 加载PDF文档,然后调用该方法以返回页数。

  • 问题内容: 我想将PDF文件转换为CSV文件。我为此使用iText库。程序运行正常,但输出格式不正确。所有数据都在csv文件的第一行中。输出应与pdf文件完全相同(表示带有换行符)。请帮忙。提前致谢。 问题答案: 您需要在每个表行之后在缓冲区中引入一个换行符’\ n’。

  • 问题内容: 以编程方式检查PDF文件是否被完全扫描的最佳方法是什么?我确实可以使用iText和PDFBox。我可以检查pdf文件是否包含文本,并根据结果确定该文件是否为OCRed,但是此解决方案并非100%准确。我想知道是否还有另一种方法来解决这个问题。 如您所知,解决方案必须基于Java。 问题答案: 最好的选择是检查它是否包含文本,还查看它是否包含大的页面化图像或覆盖页面的大量平铺图像。如果您

  • 我正在编写一个C库,用于在不同格式/编解码器之间对音频进行解码和编码。在加载所需的编解码器库之前,我有一个快速检测格式的例程。 对于WAV文件,可以在文件开头简单查找ASCII值“RIFF”和“WAVE”。这同样适用于FLAC,我们可以简单地读取前4个字节,即“FLAC”。 但是如何快速检测文件是否是MP3?我不能依赖文件扩展名。我也无法尝试解码第一个MP3帧,因为文件开头可能有其他数据(例如:I

  • 当PDF包含表单字段元素时,我希望getFields().size()大于0。是否有其他使用Java和iText标识表单字段的方法?