我使用旧版本的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)
我对谷歌搜索,但我不能找到任何解决方案,任何想法怎么回事? 在此先感谢。
好的,所以itext-2.1.7使用了与android不兼容的java.awt。*,那么是否有解决方案?有没有任何与Android兼容的itext-2.1.7的修改版本? – Darshan
@Darshan:“是否有与android兼容的itext-2.1.7的任何修改版本?” - 我没有找过一个,对不起。 – CommonsWare
您需要使用iText 5+的端口[iTextG](http://itextpdf.com/product/itextg)。你不应该在生产中使用iText 2.1.7,因为该版本存在许多问题,技术问题和法律问题。 iText 2.1.7的许可问题比iText的AGPL版本更多。当然:使用iText 5意味着你服从AGPL开源许可证。 –