6

我使用 PDFbox 来解析那个 pdf 文档。它抛出异常,说它找不到标题版本信息。任何想法?

我认为版本是 1.3 我在将每个字节转换为 char 时看到了它。链接是http://www.selab.isti.cnr.it/ws-mate/example.pdf

这里的方法和输出代码:

 public String PDFtest(String textLink) throws IOException{
        PDFParser parser;
        String parsedText = null;
        PDFTextStripper pdfStripper;
        PDDocument pdDoc;
        COSDocument cosDoc;
        PDDocumentInformation pdDocInfo;


    StringBuilder sd=new StringBuilder();
    URL link;
    try {
        link = new URL(textLink);
        URLConnection urlConn = link.openConnection();
        BufferedInputStream in = null;
        in = new BufferedInputStream(urlConn.getInputStream());
        byte data[] = new byte[1024];
        in.read(data, 0, 1024);

    parser = new PDFParser(in);
    parser.parse();
    cosDoc = parser.getDocument();
    pdfStripper = new PDFTextStripper();
    pdDoc = new PDDocument(cosDoc);
    parsedText = pdfStripper.getText(pdDoc);
    } catch (MalformedURLException ex) {
        Logger.getLogger(HTMLhelper.class.getName()).log(Level.SEVERE, null, ex);
    }
    catch (NumberFormatException e){
        System.out.println("hata");
    }

    return parsedText;



}

例外:

Exception in thread "main" java.io.IOException: Error: Header doesn't contain versioninfo
    at org.apache.pdfbox.pdfparser.PDFParser.parseHeader(PDFParser.java:317)
    at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:173)
    at ParsingMachine.HTMLhelper.PDFtest(HTMLhelper.java:99)
    at ParsingMachine.tester.main(tester.java:18)
Java Result: 1
4

4 回答 4

13

您必须合并一个非 pdf 格式的文件。请仔细检查列表中是否有除 pdf 以外的任何文件。

于 2016-07-12T10:43:48.623 回答
2

就我而言,我正在遍历目录中的文件。
WindowsThumbs.db在任何目录中都有一个文件。
这干扰了 pdf 文件处理。
应用过滤器仅选择 PDF 文件 ( *.pdf) 有所帮助。
干杯。

于 2020-05-02T13:40:41.117 回答
0

您首先将前导千字节的数据读入字节数组:

in.read(data, 0, 1024);

然后您希望 PDFBox 与剩余的字节相处

parser = new PDFParser(in);
parser.parse();

实际的 PDF 标头很可能包含在您从 PDFBox 解析器中保留的前导字节中。

因此,只需允许 PDFBox 读取所有数据。

于 2013-09-25T20:01:28.407 回答
0

正在解析的文件夹已过时。看起来是空的,所以它默认为 Thumbs.db。我记得专门跳过了这个,但猜不是文件夹是空的。

更新目录已修复。

(与 murphy1310 的情况类似,但目录为空,即此处没有 PDF 是线索)

于 2020-06-05T01:58:33.210 回答