如何解决pdf解析错误

时间:2013-10-22 12:03:24

标签: scala pdf pdf-parsing

scala代码:

    val file = new File(path + name)
    val raf = new RandomAccessFile(file, "r")
    val channel = raf.getChannel()
    val buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size())
    val pdffile = new PDFFile(buf)           // line 5

这里,文件指的是pdf文件。 path是pdf文件的地址,name是文件名。

在正常情况下,它执行正常,但在某些pdf文件中,它会在第5行引发错误:

com.sun.pdfview.PDFParseException: Expected 'xref' at start of table
    at com.sun.pdfview.PDFFile.readTrailer(PDFFile.java:974) ~[pdf-renderer-1.0.5.jar:na]
    at com.sun.pdfview.PDFFile.parseFile(PDFFile.java:1175) ~[pdf-renderer-1.0.5.jar:na]
    at com.sun.pdfview.PDFFile.<init>(PDFFile.java:126) ~[pdf-renderer-1.0.5.jar:na]
    at com.sun.pdfview.PDFFile.<init>(PDFFile.java:102) ~[pdf-renderer-1.0.5.jar:na]

我认为这个pdf文件的格式或内容有些问题。当我使用另存为pdf文件制作另一个pdf文件并使用新创建的pdf文件时,它工作正常。

那么我怎样才能解决这个问题,以便我使用正确的文件或错误的文件,我的代码应该可以正常工作。

修改

我在com / sun / pdfview / PDFFile.java描述中找到了以下内容

@throws PDFParseException if the document appears to be malformed, or
       its features are unsupported

0 个答案:

没有答案