1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > java pdf tiff_关于java:使用iText将tiff文件转换为pdf文件时出现异常

java pdf tiff_关于java:使用iText将tiff文件转换为pdf文件时出现异常

时间:2024-01-29 13:41:56

相关推荐

java pdf tiff_关于java:使用iText将tiff文件转换为pdf文件时出现异常

当我尝试通过使用itextpdf 5.5.5将tiff文件转换为pdf文件时,发生以下异常:

java.lang.RuntimeException: Scanline must begin with EOL code word. at

com.itextpdf.text.pdf.codec.TIFFFaxDecoder.readEOL(TIFFFaxDecoder.java:1303)

at

com.itextpdf.text.pdf.codec.TIFFFaxDecoder.decode2D(TIFFFaxDecoder.java:811)

at

com.itextpdf.text.pdf.codec.TiffImage.getTiffImage(TiffImage.java:223)

at

com.itextpdf.text.pdf.codec.TiffImage.getTiffImage(TiffImage.java:315)

at

com.itextpdf.text.pdf.codec.TiffImage.getTiffImage(TiffImage.java:303)

at com.itextpdf.text.Image.getInstance(Image.java:308) at

com.itextpdf.text.Image.getInstance(Image.java:242) at

com.itextpdf.text.Image.getInstance(Image.java:365) at

com.minstone.convert.PicConvertor.convertPicToPdf1(PicConvertor.java:81)

at

com.minstone.convert.DocConverter$ConvertWork.king2pdf(DocConverter.java:143)

at

com.minstone.convert.DocConverter$ConvertWork.run(DocConverter.java:99)

at

java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138) at

java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:619)

我可以在任何图像查看器中打开tiff文件,因此它是有效的。

尝试将getInstance()方法与布尔值" recoverFromImageError"一起使用。 如果这样不起作用,请尝试将"直接"布尔值设置为true来实例化TiffImage对象。 如果那不起作用,请分享tiff。

感谢您的回答,我只是将getInstance()方法与布尔值" recoverFromImageError"一起使用并对其进行修复!

@MichalDemey您应该做出一个答案。

处理无效或损坏的Tiff文件时,iText具有一些后备功能。默认情况下,不使用这些后备,如果您希望iText尝试解析无效的Tiff文件(例如,http:// api),则需要显式地使用getinstance()方法之一,并将recoverFromImageError标志设置为true . / itext / com / itextpdf / text / Image.html#getInstance%28byte [],%20boolean%29)

如果此布尔值设置为true,则iText仅在用尽所有选项时才会抛出错误。这应该是检查您的TIFF文件的标志...

另一个解决方法是使用TiffImage并完全绕开Image类。 TiffImage还使用recoverFromImageError标志,但是它还有一个称为"直接"的附加标志,这也可能解决您的问题。 (/itext/com/itextpdf/text/pdf/codec/TiffImage.html)

由于没有可用的代码段,我想您正在使用下面的代码读取图像。

Image tiffImg=TiffImage.getTiffImage(randomAccessFileOrArrayObj, pageNum);

如果是这样,请将其更改为(添加为true以尝试恢复文件)

Image tiffImg=TiffImage.getTiffImage(randomAccessFileOrArrayObj, true, pageNum);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。