|
Чтение документов формата Doc (1c на linux) | ☑ | ||
---|---|---|---|---|
0
spiller26
15.08.16
✎
11:14
|
Кто нибудь пробовал чтение документов Doc в Linux?
1с полностью на linux машинах. |
|||
1
spiller26
15.08.16
✎
11:15
|
подскажите компоненту, если есть такая в природе.
|
|||
2
stix2010
15.08.16
✎
11:20
|
libre office
|
3 |
||
3
spiller26
15.08.16
✎
11:23
|
(2) ну стоит, а толку.
с 1с к нему достучишься. Тем более если база на сервере. |
|||
4
spiller26
15.08.16
✎
11:25
|
По сути doc это запакованый zip архив.
Там файлы: WordDocument - тут по ходу текст 1Table - тут таблица |
|||
5
Gary417
15.08.16
✎
11:26
|
тот который zip Архив его платформа читать умеет
|
8 |
||
6
Gary417
15.08.16
✎
11:26
|
docx уже давно помоему с 8.3.6..если даже не с 3.5 платформой поддерживается
|
9 10 |
||
7
stix2010
15.08.16
✎
11:27
|
Вы бы сначала описали, что хотите.
|
12 16 |
||
8
spiller26
15.08.16
✎
11:27
|
(5) Переименовываешь doc в zip. потом распаковываешь.
|
9 |
||
9
Gary417
15.08.16
✎
11:27
|
11 |
|||
10
spiller26
15.08.16
✎
11:28
|
(6) с Docx проблем нет, там xml
|
|||
11
Gary417
15.08.16
✎
11:28
|
(9) zip архив это docx, а есть ещё просто doc (тот который Word 2003)
|
13 |
||
12
spiller26
15.08.16
✎
11:28
|
(7) хочу выдернуть только текст.
|
|||
13
spiller26
15.08.16
✎
11:29
|
(11) и doc - тоже архив если что, попробуй.
|
|||
14
stix2010
15.08.16
✎
11:31
|
если чо, то libre office поддерживает конвертацию форматов из командной строки
|
17 |
||
15
stix2010
15.08.16
✎
11:32
|
там хоть в txt, и потом чтение
|
|||
16
spiller26
15.08.16
✎
11:33
|
(7) Краткая история: В конфигурации "Документооборот" при внесения файлов в базу, автоматически происходит чтение файла (вытаскивание текста) для полнотекстового поиска.
Но... они не стали заморачиваться и тупо поставили если платформа не Windows то "болты". Пришлось своё дописывать для linux, остался формат *.doc. |
|||
17
spiller26
15.08.16
✎
11:34
|
(14) Текст кода есть для такой реализации?
|
18 |
||
18
Gary417
15.08.16
✎
11:39
|
(17) ну чё вы в самом деле
Реализована возможность импорта содержимого файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в табличный документ. Данная возможность доступна как в интерактивном режиме, так и из встроенного языка. Реализовано системное перечисление СпособЧтенияЗначенийТабличногоДокумента. Для метода Прочитать() объекта ТабличныйДокумент реализован параметр СпособЧтенияЗначений. |
20 22 |
||
19
stix2010
15.08.16
✎
11:39
|
https://help.libreoffice.org/Common/Starting_the_Software_With_Parameters/ru
--convert-to output_file_extension[:output_filter_name] [--outdir output_dir] files еще есть утилька antiword $antiword Договор.doc > Договор.txt |
23 |
||
20
stix2010
15.08.16
✎
11:40
|
(18) где тут про doc?
|
21 |
||
21
Gary417
15.08.16
✎
11:40
|
(20) да действительно...(чешу в затылке)...хмм...
|
|||
22
spiller26
15.08.16
✎
11:43
|
(18) Вот с этим как раз проблем и нет
|
|||
23
spiller26
15.08.16
✎
11:47
|
(19) вот супер с antiword
только теперь научить 1с терминалу посылать команды |
24 |
||
24
stix2010
15.08.16
✎
11:52
|
36 |
|||
25
spiller26
15.08.16
✎
11:55
|
(25) попробую с antiword
|
25 |
||
26
spiller26
15.08.16
✎
12:43
|
Вот код
ИзвлеченныйТекст = ""; #Если Не ВебКлиент Тогда ВременныйDocФайл = ПолучитьИмяВременногоФайла("doc"); КопироватьФайл(ПутьКФайлу, ВременныйDocФайл); ВременныйТексДокумент = ПолучитьИмяВременногоФайла(); ТекстДокумента = новый ТекстовыйДокумент; Попытка СтрокаКонсольнойКоманды = "antiword " + ВременныйDocФайл + " > " + ВременныйТексДокумент; ЗапуститьПриложение(СтрокаКонсольнойКоманды); Исключение КонецПопытки; Попытка ТекстДокумента.Прочитать(ВременныйТексДокумент); ИзвлеченныйТекст = ТекстДокумента.ПолучитьТекст(); Исключение КонецПопытки; #КонецЕсли УдалитьФайлы(ВременныйDocФайл); УдалитьФайлы(ВременныйТексДокумент); Возврат ИзвлеченныйТекст; только вот после ЗапуститьПриложение(СтрокаКонсольнойКоманды) нужно задержку, чтобы система успела переконвертировать файл. |
27 |
||
27
Кирпич
15.08.16
✎
13:09
|
(26) А что на Linux параметр "ДождатьсяЗавершения" не работает?
|
|||
28
Кирпич
15.08.16
✎
13:09
|
ЗапуститьПриложение(СтрокаКонсольнойКоманды,,Истина);
|
|||
29
Serginio1
15.08.16
✎
16:36
|
31 |
|||
30
Serginio1
19.08.16
✎
12:07
|
Сейчас доделываю чтение через openxml
Скачал отсюда https://github.com/ph1ll/Open-XML-SDK/tree/netstandard Скомпилировал под NetStandart1.6. Правда его в проектах без NuGet нельзя использовать, но через мою приблуду в 1С можно. Если вдруг нужно, скоро выложу |
31 37 |
||
31
lodger
19.08.16
✎
12:29
|
37 |
|||
32
DDwe
19.08.16
✎
12:32
|
Так хочется сказать, что Serginio1 достал! Но не скажу, т.к. невежливо.
|
33 |
||
33
PRO100 NigGaZ
19.08.16
✎
12:48
|
(32) человек который пытается привнести в систему новое, свободное и хорошее - достал, яснопонятно
как говорят уточки в пруду - зря-зря-зря |
34 36 |
||
34
Mauser
19.08.16
✎
13:10
|
(33) Аборигены всегда кушали миссионеров, смирись.
|
24 36 |
||
35
Mauser
19.08.16
✎
13:10
|
И не зря, надо сказать, кушали
|
|||
36
lodger
19.08.16
✎
13:30
|
||||
37
Serginio1
19.08.16
✎
14:02
|
(31) Есть два вида ВК через COM и Native API. Первые под линукс не подходят.
(30) Моя Приблуда только вызвает методы объектов. А вот https://github.com/ph1ll/Open-XML-SDK/tree/netstandard Умеет читать и писать в DOC https://msdn.microsoft.com/ru-ru/library/office/cc850833.aspx |
|||
38
Serginio1
22.08.16
✎
14:50
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |