Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Открытие Word в Java на форме для просмотра? / 17 сообщений из 17, страница 1 из 1
11.01.2016, 18:02
    #39144842
Dimmf28
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Суть идея такая, необходимо подгрузить word или pdf файл в форму java. Чтоб можно было на форме просмотреть все содержимое
этого файла, по сути тоже самое что и Foxitreader или Ms World?можно ли такое сделать?
...
Рейтинг: 0 / 0
11.01.2016, 18:19
    #39144860
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Вы что-то не то называете "формой java". "Форма" это, обычно, "форма ввода" - множество полей для ввода данных.
Если речь о том чтобы смотреть документы через GUI, то, для начала, надо бы определится c GUI тулкитом. Так как в Java их больше одного. SWT очень нативный и там нет особых проблем подвязать виндовый ActiveX. В Swing тоже можно, но сложнее. На счет JavaFX никогда не интересовался.

Альтернативным решением будет pure Java рендерер для определенного формата. Но качество таких решений, обычно, оставляет желать лучшего.
...
Рейтинг: 0 / 0
11.01.2016, 18:20
    #39144862
Dimmf28
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Blazkowicz,

вы правильно поняли мысль, можете подсказать с помощью чего или какой библиотеки это можно было б реализовать
...
Рейтинг: 0 / 0
11.01.2016, 18:36
    #39144877
skywriter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Если word-файл нужно только отображать, то, возможно, имеет смысл на лету перегнать его в PDF. Тогда нужен будет только PDF-рендерер.
...
Рейтинг: 0 / 0
11.01.2016, 18:36
    #39144878
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Dimmf28вы правильно поняли мысль, можете подсказать с помощью чего или какой библиотеки это можно было б реализовать
Я вам два способа привел. Вы не удосужились уточнить какой именно вы предпочитаете.
Если второй, то для каждого формата своя библиотека.
Google -> Java PDF Viewer
Google -> Java MS Word Viewer
...
Рейтинг: 0 / 0
11.01.2016, 18:52
    #39144890
Dimmf28
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Blazkowicz,

мне необходимо открывать pdf для его просмотра на GUI
...
Рейтинг: 0 / 0
11.01.2016, 19:04
    #39144901
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Dimmf28мне необходимо открывать pdf для его просмотра на GUI
Ну, так берите первый в списке
http://www.icesoft.org/java/projects/ICEpdf/overview.jsf
...
Рейтинг: 0 / 0
11.01.2016, 20:02
    #39144940
Nebo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Dimmf28Суть идея такая, необходимо подгрузить word или pdf файл в форму java. Чтоб можно было на форме просмотреть все содержимое
этого файла, по сути тоже самое что и Foxitreader или Ms World?можно ли такое сделать?

Хороший вопрос! я тоже задумывался как это всё можно сделать в Java.

в MS Access всё это достаточно круто работает. Word вставка, Excel вставка.
Excel вставка так вообще автомасштабирует своё содержание.

Но мы конечно не в Аксессе, мы в джава. Интересная тема со вставками. Тоесть это OLE (COM) в Java ?
...
Рейтинг: 0 / 0
12.01.2016, 09:07
    #39145120
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Dimmf28Суть идея такая, необходимо подгрузить word или pdf файл в форму java. Чтоб можно было на форме просмотреть все содержимое этого файла, по сути тоже самое что и Foxitreader или Ms World?можно ли такое сделать?
Да ещё наверное в Linux'е?
...
Рейтинг: 0 / 0
12.01.2016, 10:03
    #39145158
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Dimmf28Blazkowicz,

мне необходимо открывать pdf для его просмотра на GUI

Откройте обычным acrobatом
Для всех ОС.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
                try {
                
                      File pdfFile = new File(filename);
                      if (pdfFile.exists()) {
           //     Desktop.getDesktop().print(file);
                              if (Desktop.isDesktopSupported()) {
                                    Desktop.getDesktop().open(pdfFile);
                                  
                              } else {
                                      System.out.println("Awt Desktop is not supported!");
                              }
                
                      } else {
                              System.out.println("File is not exists!");
                      }
                
                      System.out.println("Done");
                
                } catch (Exception ex) {
                      ex.printStackTrace();
                }



Если встроенный ICEPDF...То решение действительно интересное...но он искажает pdf ...не критично...
Но если посмотреть родным adobe и icepdf разница очевидна.
...
Рейтинг: 0 / 0
15.01.2016, 09:14
    #39147904
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Nebo. Тоесть это OLE (COM) в Java ?
уже звучит как кощунство...
...
Рейтинг: 0 / 0
15.01.2016, 10:51
    #39148028
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Neboв MS Access всё это достаточно круто работает. Word вставка, Excel вставка.
КРУТО ? Вы серьезно ?

А с задачей ИЗВЛЕЧЬ обратно эти документы не сталкивались? Когда в MS Access БД вставлено куча разных документов в виде OLE Stream'ом из непонятно каких приложений и каких версий: Word, Excel, PDF, PhotoShop, Paint и т.д. Стоит задача перенести информацию в другую БД и все... приплыли... Каждое приложение имеет свой уникальный формат сереализации, свой уникальный интерфейс... если имеет.

IMHO M$ помойку изобрело. Но красивую помойку. Сразу всех "приколов" и не поймешь. Интерфейс встраивания объектов в БД, который умеет только "встраивать", но совершенно не умеет "извлекать" - убить того, кто такое придумал.

IMHO & AFAIK
...
Рейтинг: 0 / 0
15.01.2016, 14:00
    #39148233
Nebo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Leonid Kudryavtsev,

)) понятно) я не говорю за всё) для определённых задач круто. Например Excel вставка масштабирует своё содержание,
чтобы показать его полностью в поле на экране. Плюс тоже самое при печати отчета.
Попробуйте сделать это же в джава и покажите))

Понятно что нет предела совершенству) Махать шашкой не стоит)
...
Рейтинг: 0 / 0
15.01.2016, 14:15
    #39148250
Nebo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Leonid Kudryavtsev,

авторА с задачей ИЗВЛЕЧЬ обратно эти документы не сталкивались? Когда в MS Access БД вставлено куча разных документов в виде OLE Stream'ом из непонятно каких приложений и каких версий: Word, Excel, PDF, PhotoShop, Paint и т.д. Стоит задача перенести информацию в другую БД и все... приплыли... Каждое приложение имеет свой уникальный формат сереализации, свой уникальный интерфейс... если имеет.

Сталкивался) Тоже помучился. Примерно так это делалось (читаем в поток с рекордсета, из потока пишем на диск, как определённый файл). Да, надо знать, что хранится в поле:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    'Set up the stream object specifying type (text or binary).
    'Initialize the stream object used to persist to a file
    Set st = New ADODB.Stream
    st.Type = adTypeBinary 'adTypeText
    st.Open
    
    ' Load the file to be stored, and update the recordset with the contents of the stream.
    'Write the value of the field to the stream
    st.WriteText rs.Fields("doc_DocumentFile").Value
    
    'Save the content of the stream to a file
    st.SaveToFile ("d:\temp\" & Me.ID & ".xls")
    
    'Close the stream
    st.Close
...
Рейтинг: 0 / 0
15.01.2016, 14:25
    #39148261
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Nebo, ты это серьезно?

В OLE поле, хранится НЕ исходный документ, а OLE IStream содержащий документ. Т.ч. записав его на диск - корректный документ нифига не получишь. В общем случае. Про MS Word и MS Excel точно уверять не буду. Но в общем случае, например PDF от Adobe Acrobat, картинок - 100%.
...
Рейтинг: 0 / 0
15.01.2016, 14:41
    #39148275
Nebo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
Да простят меня джависты)), что приходится здесь это писать, но раз попросили)

>В OLE поле, хранится НЕ исходный документ, а OLE IStream содержащий документ.

Да. Вот этой командой пишем OLE IStream в поток:

Код: vbnet
1.
st.WriteText rs.Fields("objectFile").Value



Следующей командой пишем из потока на диск. Внимание: Формат файла сами указываем.
Что хранится в базе мы действительно не знаем.

Код: vbnet
1.
st.SaveToFile ("d:\temp\temp.xls")




>Т.ч. записав его на диск - корректный документ нифига не получишь.

Для Word или Excel работало.

за Acrobat и картинки не скажу. Тут нужно погуглить)
...
Рейтинг: 0 / 0
15.01.2016, 15:01
    #39148292
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открытие Word в Java на форме для просмотра?
NeboДля Word или Excel работало.
Так у них формат файла и есть OLE-контейнер. :)

Ту магию которую Вы видете (с автомасштабированием и пр.) выполняют именно Word и Excel.
Аксесс просто знает чьи данные лежат в контейнере и вызывает это приложение. Нет приложения обрабатывающего контейнер (или если оно обрабатывает его криво) нет магии.

Достучаться в принципе можно до чего угодно.

http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/WordOLE.htm
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Открытие Word в Java на форме для просмотра? / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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