2015-09-25 37 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開源許可證。 –