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
。