2015-09-25 59 views
2

我使用旧版本的itext(因为新版本有一些许可证问题)生成PDF文件,它与新版本版本的itext和droidtext以及,但我在这个旧版本itext-2.1.7获取运行时错误。 错误日志如下:itext-2.1.7抛出FATAL错误:java.lang.NoClassDefFoundError:java.awt.Color

09-25 17:33:49.035: E/AndroidRuntime(1379): FATAL EXCEPTION: main 
09-25 17:33:49.035: E/AndroidRuntime(1379): java.lang.NoClassDefFoundError: java.awt.Color 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.lowagie.text.pdf.PdfChunk.color(Unknown Source) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.lowagie.text.pdf.PdfDocument.writeLineToContent(Unknown Source) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.lowagie.text.pdf.PdfDocument.flushLines(Unknown Source) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.lowagie.text.pdf.PdfDocument.newPage(Unknown Source) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.lowagie.text.pdf.PdfDocument.close(Unknown Source) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.lowagie.text.Document.close(Unknown Source) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.darshanmukadam.expensereports.PdfCreator.create_pdf(PdfCreator.java:195) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.darshanmukadam.expensereports.PdfCreator.access$0(PdfCreator.java:125) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.darshanmukadam.expensereports.PdfCreator$2.onItemClick(PdfCreator.java:108) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at android.widget.AdapterView.performItemClick(AdapterView.java:301) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at android.widget.AbsListView.performItemClick(AbsListView.java:1490) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at android.widget.AbsListView$PerformClick.run(AbsListView.java:3275) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at android.widget.AbsListView$1.run(AbsListView.java:4518) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at android.os.Handler.handleCallback(Handler.java:725) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at android.os.Handler.dispatchMessage(Handler.java:92) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at android.os.Looper.loop(Looper.java:137) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at android.app.ActivityThread.main(ActivityThread.java:5283) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at java.lang.reflect.Method.invokeNative(Native Method) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at java.lang.reflect.Method.invoke(Method.java:511) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
09-25 17:33:49.035: E/AndroidRuntime(1379):  at dalvik.system.NativeStart.main(Native Method) 

我对谷歌搜索,但我不能找到任何解决方案,任何想法怎么回事? 在此先感谢。

回答

0

库java.awt。*不是Android的一部分。 Android使用不同的技术来创建元素。

0

Android没有java.awt.Color。您的iText版本与Android不兼容,至少无论您输入Document的内容如何。

+0

好的,所以itext-2.1.7使用了与android不兼容的java.awt。*,那么是否有解决方案?有没有任何与Android兼容的itext-2.1.7的修改版本? – Darshan

+0

@Darshan:“是否有与android兼容的itext-2.1.7的任何修改版本?” - 我没有找过一个,对不起。 – CommonsWare

+1

您需要使用iText 5+的端口[iTextG](http://itextpdf.com/product/itextg)。你不应该在生产中使用iText 2.1.7,因为该版本存在许多问题,技术问题和法律问题。 iText 2.1.7的许可问题比iText的AGPL版本更多。当然:使用iText 5意味着你服从AGPL开源许可证。 –