我使用舊版本的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開源許可證。 –