powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / doc read and put to webview (poi)
15 сообщений из 15, страница 1 из 1
doc read and put to webview (poi)
    #39943562
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь прочитать документ ворд на webview

Вот такие ошибки:

Process: handbook_multi_maker.TJ, PID: 25403
java.lang.BootstrapMethodError: Exception from call site #238 bootstrap method
at org.apache.poi.openxml4j.opc.PackagePartCollection.<init>(PackagePartCollection.java:47)
at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:241)
at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:732)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:310)
at TJ.SecondActivity.initWebView(SecondActivity.java:124)

Код: java
1.
 XWPFDocument xdoc = new XWPFDocument(OPCPackage.open(fis));



at TJ.SecondActivity.onCreate(SecondActivity.java:96)
Код: java
1.
 initWebView();
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944063
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,

Код: java
1.
2.
3.
4.
FileInputStream fis12 = new FileInputStream(sub1 + "/" + nm1);
                XWPFDocument document12 = new XWPFDocument(fis12);
                extractor12 = new  XWPFWordExtractor(document12);
                wordtext = extractor12.getText();



Ошибка:

E/chromium: [ERROR:filesystem_posix.cc(62)] mkdir /data/user/0/handbook_multi_maker.TJ/cache/WebView/Crashpad: No such file or directory (2)
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944064
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,
И еще лог:

Caused by: java.lang.ClassNotFoundException: Didn't find class "javax.xml.stream.XMLStreamReader" on path: DexPathList[[zip file "/data/app/handbook_multi_maker.TJ-_q_gHk1cFj2jkqIw0Cl4Tw==/base.apk"],nativeLibraryDirectories=[/data/app/handbook_multi_maker.TJ-_q_gHk1cFj2jkqIw0Cl4Tw==/lib/arm64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944200
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут всё в кучу намешано. И класс не найден (зависимости?), и файл...

Я-бы начал с простого: пустой проект и попытаться открыть файл, заведомо существующий. С использованием log.* методов для логирования каждого шага.
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944340
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Создал чистый проект:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 File file = null;
        WordExtractor extractor = null;
        try
        {

            file = new File("/storage/emulated/0/1/1.doc");
            FileInputStream fis = new FileInputStream(file.getAbsolutePath());


            HWPFDocument document = new HWPFDocument(fis);
            extractor = new WordExtractor(document);
            String[] fileData = extractor.getParagraphText();
            for (int i = 0; i < fileData.length; i++)
            {
                if (fileData[i] != null) wordtext  =  wordtext + fileData[i];

            }
        }
        catch (Exception exep)
        {
            exep.printStackTrace();
        }

                webview1.loadData( wordtext,"text/html; charset=UTF-8", null);
       // webview1.loadUrl( "file:///android_asset/1.txt");




Логи:
W/example.empty1: Accessing hidden method Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets; (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->left:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->right:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->top:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->bottom:I (light greylist, linking)
I/DecorView: createDecorCaptionView >> DecorView@e51f5f6[], isFloating: false, isApplication: true, hasWindowDecorCaption: false, hasWindowControllerCallback: true
W/example.empty1: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (light greylist, reflection)
W/example.empty1: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (light greylist, reflection)
W/example.empty1: Accessing hidden method Landroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic; (light greylist, linking)
I/WebViewFactory: Loading com.android.chrome version 80.0.3987.149 (code 398714932)
I/cr_LibraryLoader: Loaded native library version number "80.0.3987.149"
W/example.empty1: Accessing hidden method Landroid/content/Context;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z (light greylist, reflection)
W/chromium: [WARNING:dns_config_service_posix.cc(341)] Failed to read DnsConfig.
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.empty13, PID: 24010
java.lang.BootstrapMethodError: Exception from call site #1410 bootstrap method
at org.apache.poi.hwpf.model.PropertyNode.<clinit>(PropertyNode.java:40)
at org.apache.poi.hwpf.model.NotesTables.<init>(NotesTables.java:42)
at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:138)
at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:177)
at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:165)
at com.example.empty13.MainActivity.onCreate(MainActivity.java:37)
at android.app.Activity.performCreate(Activity.java:7327)
at android.app.Activity.performCreate(Activity.java:7318)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3087)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3250)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1947)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7032)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
Caused by: java.lang.ClassCastException: Bootstrap method returned null
at org.apache.poi.hwpf.model.PropertyNode.<clinit>(PropertyNode.java:40) 
at org.apache.poi.hwpf.model.NotesTables.<init>(NotesTables.java:42) 
at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:138) 
at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:177) 
at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:165) 
at com.example.empty13.MainActivity.onCreate(MainActivity.java:37) 
at android.app.Activity.performCreate(Activity.java:7327) 
at android.app.Activity.performCreate(Activity.java:7318) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3087) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3250) 
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1947) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loop(Looper.java:214) 
at android.app.ActivityThread.main(ActivityThread.java:7032) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964) 
I/Process: Sending signal. PID: 24010 SIG: 9
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944344
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,

Я конечно в логах как на "лугах" но выделил на всякий случай это:

W/chromium: [WARNING:dns_config_service_posix.cc(341)] Failed to read DnsConfig.

at com.example.empty13.MainActivity.onCreate(MainActivity.java:37)

Caused by: java.lang.ClassCastException: Bootstrap method returned null

Код: java
1.
HWPFDocument document = new HWPFDocument(fis);
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944363
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,


Вот , ошибок нет, а вот текст из документа не вытаскивает гад такой , или мозги мои гадские , чего то не догоняю


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
         ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);



        String wordtext="+";
        WebView webview1 = (WebView) findViewById(R.id.webview1);


       String completePath = "file:///storage/emulated/0/1/1.doc";

        File file = null;
        WordExtractor extractor = null ;
        try {

            file = new File(completePath);
            FileInputStream fis=new FileInputStream(file.getAbsolutePath());
            HWPFDocument document=new HWPFDocument(fis);
            extractor = new WordExtractor(document);
            String [] fileData = extractor.getParagraphText();
            wordtext = wordtext + extractor.getText();
            for(int i=0;i<fileData.length;i++){
                if(fileData[i] != null)
                    System.out.println(fileData[i]);
              wordtext = wordtext + fileData[i];
            }
        }
        catch(Exception exep){}

        webview1.loadData( wordtext+"test","text/html; charset=UTF-8", null);



Ни параграфы ни текста !
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944366
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,
Хотя нет вот логи

E/Zygote: isWhitelistProcess - Process is Whitelisted
E/Zygote: accessInfo : 1
I/example.empty1: Late-enabling -Xcheck:jni
E/example.empty1: Failed to send DDMS packet REAQ to debugger (-1 of 20): Broken pipe
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944466
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,

Думаю причина здесь: FileInputStream fis=new FileInputStream(file.getAbsolutePath());


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        String wordtext="+";
        WebView webview1 = (WebView) findViewById(R.id.webview1);
        WebView webview2 = (WebView) findViewById(R.id.webview2);
       String completePath = "file:///storage/emulated/0/1/1.doc";
        webview2.loadUrl("file:///storage/emulated/0/1/1.txt");
        File file = null;
        WordExtractor extractor = null ;
        try {
            file = new File(completePath);
            FileInputStream fis=new FileInputStream(file.getAbsolutePath());
            HWPFDocument document=new HWPFDocument(fis);
            extractor = new WordExtractor(document);
            String [] fileData = extractor.getParagraphText();
            wordtext = wordtext + extractor.getText();
            for(int i=0;i<fileData.length;i++){
                if(fileData[i] != null)
                    //System.out.println(fileData[i]);
               wordtext = wordtext + fileData[i];
            }
        }
        catch(Exception exep){exep.printStackTrace();}
        webview1.loadData( wordtext+"test","text/html; charset=UTF-8", null);






W/System.err: java.io.FileNotFoundException: /file:/storage/emulated/0/1/1.doc (No such file or directory)
W/System.err: at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:231)
at java.io.FileInputStream.<init>(FileInputStream.java:165)
at java.io.FileInputStream.<init>(FileInputStream.java:112)
at com.example.empty13.MainActivity.onCreate(MainActivity.java:39)


...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944483
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj
Я конечно в логах как на "лугах" но выделил на всякий случай это:

Это сетевое.
Romantiktj
W/System.err: java.io.FileNotFoundException: /file:/storage/emulated/0/1/1.doc (No such file or directory)

Вот тут и смотри.
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944484
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но вообще ощущение, что ты хочешь загрузить голый текст (без html форматирования) в webview.
На выходе будет каша.
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944883
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Вот нашёл решение вытаскивать голый текст (мне это и надо!) из doc файлов (2007-2013)

build.gradle

Код: java
1.
2.
3.
4.
 compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }




Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
  String completePath = "file:///storage/emulated/0/1/1.doc";
        URI uri1 = URI.create(completePath);
        try {
          filePath = new FileInputStream(new File(uri1));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        //  ask storage permission
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        String wordtext="+";
        WebView webview1 = (WebView) findViewById(R.id.webview1);
        WebView webview2 = (WebView) findViewById(R.id.webview2);



        try {

            //doc-----------------------
            HWPFDocument document = new HWPFDocument(filePath);
            wordtext = wordtext + document.getText();
            //end_doc---------------------
/*
            //docx-----------------------
            XWPFDocument documentx = new XWPFDocument(filePath);
           XWPFWordExtractor extract = new XWPFWordExtractor(documentx);
            wordtext = wordtext + extract.getText();
           //end_docx---------------------

   */

            } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }


        webview1.loadData( wordtext+"test","text/html; charset=UTF-8", null);



Прошу вас помочь мне теперь с docx (2016)

Код: java
1.
2.
3.
4.
5.
6.
            String completePath = "file:///storage/emulated/0/1/1.docx";
           //.............
            XWPFDocument documentx = new XWPFDocument(filePath);
           XWPFWordExtractor extract = new XWPFWordExtractor(documentx);
            wordtext = wordtext + extract.getText();
       



ЛОГ:

W/example.empty1: Accessing hidden method Landroid/content/Context;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z (light greylist, reflection)
W/chromium: [WARNING:dns_config_service_posix.cc(341)] Failed to read DnsConfig.
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39944901
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj
мне это и надо!

Если это и надо, то почему для webview сообщаешь, что грузишь html?
Romantiktj
Код: java
1.
text/html



Да еще и текст формируешь сплошным:
Romantiktj
Код: java
1.
 wordtext = wordtext + extract.getText();



Забудь про webview, выведи эту кашу в обычный TextView и посмотри, насколько это похоже на html.
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39945248
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Ошибки начинаются с этого кода:

Код: java
1.
   XWPFDocument documentx = new XWPFDocument(filePath);



Часть кода чтобы понять откуда все пришло:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
String completePath = "file:///storage/emulated/0/1/1.docx";
        URI uri1 = URI.create(completePath);
        try {
          filePath = new FileInputStream(new File(uri1));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        //  ask storage permission
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        String wordtext="+";
        WebView webview1 = (WebView) findViewById(R.id.webview1);
        WebView webview2 = (WebView) findViewById(R.id.webview2);



        try {


 if(completePath.substring(completePath.length() -1).equals("x"))

        {

               //docx-----------------------
                XWPFDocument documentx = new XWPFDocument(filePath);
                 XWPFWordExtractor extract = new XWPFWordExtractor(documentx);
                 wordtext = wordtext + extract.getText();



04/09 14:32:56: Launching 'app' on samsung SM-G973U.
$ adb shell am start -n "com.example.empty13/com.example.empty13.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 20879 on device 'samsung-sm_g973u-RF8M33887XT'.
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
E/Zygote: isWhitelistProcess - Process is Whitelisted
accessInfo : 1
I/example.empty1: Late-enabling -Xcheck:jni
D/libEGL: loaded /vendor/lib64/egl/libEGL_adreno.so
D/libEGL: loaded /vendor/lib64/egl/libGLESv1_CM_adreno.so
D/libEGL: loaded /vendor/lib64/egl/libGLESv2_adreno.so
W/example.empty1: Accessing hidden method Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets; (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->left:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->right:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->top:I (light greylist, linking)
Accessing hidden field Landroid/graphics/Insets;->bottom:I (light greylist, linking)
I/DecorView: createDecorCaptionView >> DecorView@cb90749[], isFloating: false, isApplication: true, hasWindowDecorCaption: false, hasWindowControllerCallback: true
W/example.empty1: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (light greylist, reflection)
W/example.empty1: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (light greylist, reflection)
W/example.empty1: Accessing hidden method Landroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic; (light greylist, linking)
I/WebViewFactory: Loading com.android.chrome version 80.0.3987.149 (code 398714932)
I/cr_LibraryLoader: Loaded native library version number "80.0.3987.149"
W/example.empty1: Accessing hidden method Landroid/content/Context;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z (light greylist, reflection)
W/chromium: [WARNING:dns_config_service_posix.cc(341)] Failed to read DnsConfig.
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.empty13, PID: 20879
java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/stream/XMLStreamReader;
...
Рейтинг: 0 / 0
doc read and put to webview (poi)
    #39945400
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman
Забудь про webview, выведи эту кашу в обычный TextView и посмотри, насколько это похоже на html.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / doc read and put to webview (poi)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]