|
Чтение документов формата 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
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 Архив его платформа читать умеет
|
|||
6
Gary417
15.08.16
✎
11:26
|
docx уже давно помоему с 8.3.6..если даже не с 3.5 платформой поддерживается
|
|||
7
stix2010
15.08.16
✎
11:27
|
Вы бы сначала описали, что хотите.
|
|||
8
spiller26
15.08.16
✎
11:27
|
(5) Переименовываешь doc в zip. потом распаковываешь.
|
|||
9
Gary417
15.08.16
✎
11:27
|
(8) нет, я к этому (6)
|
|||
10
spiller26
15.08.16
✎
11:28
|
(6) с Docx проблем нет, там xml
|
|||
11
Gary417
15.08.16
✎
11:28
|
(9) zip архив это docx, а есть ещё просто doc (тот который Word 2003)
|
|||
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 поддерживает конвертацию форматов из командной строки
|
|||
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
Gary417
15.08.16
✎
11:39
|
(17) ну чё вы в самом деле
Реализована возможность импорта содержимого файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в табличный документ. Данная возможность доступна как в интерактивном режиме, так и из встроенного языка. Реализовано системное перечисление СпособЧтенияЗначенийТабличногоДокумента. Для метода Прочитать() объекта ТабличныйДокумент реализован параметр СпособЧтенияЗначений. |
|||
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 |
|||
20
stix2010
15.08.16
✎
11:40
|
(18) где тут про doc?
|
|||
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
stix2010
15.08.16
✎
11:52
|
Вот пример:
СтрокаПриложения=Символ(34)+ПутьЛибреОфис+Символ(34)+" --headless --convert-to txt --outdir "+ Символ(34)+КаталогКонвертации+Символ(34) + " "+Символ(34)+КонвертируемыйФайл+Символ(34); ЗапуститьПриложение(СтрокаПриложения,,Истина); (23) ЗапуститьПриложение не хватит? |
|||
25
spiller26
15.08.16
✎
11:55
|
(25) попробую с antiword
|
|||
26
spiller26
15.08.16
✎
12:43
|
Вот код
ИзвлеченныйТекст = ""; #Если Не ВебКлиент Тогда ВременныйDocФайл = ПолучитьИмяВременногоФайла("doc"); КопироватьФайл(ПутьКФайлу, ВременныйDocФайл); ВременныйТексДокумент = ПолучитьИмяВременногоФайла(); ТекстДокумента = новый ТекстовыйДокумент; Попытка СтрокаКонсольнойКоманды = "antiword " + ВременныйDocФайл + " > " + ВременныйТексДокумент; ЗапуститьПриложение(СтрокаКонсольнойКоманды); Исключение КонецПопытки; Попытка ТекстДокумента.Прочитать(ВременныйТексДокумент); ИзвлеченныйТекст = ТекстДокумента.ПолучитьТекст(); Исключение КонецПопытки; #КонецЕсли УдалитьФайлы(ВременныйDocФайл); УдалитьФайлы(ВременныйТексДокумент); Возврат ИзвлеченныйТекст; только вот после ЗапуститьПриложение(СтрокаКонсольнойКоманды) нужно задержку, чтобы система успела переконвертировать файл. |
|||
27
Кирпич
15.08.16
✎
13:09
|
(26) А что на Linux параметр "ДождатьсяЗавершения" не работает?
|
|||
28
Кирпич
15.08.16
✎
13:09
|
ЗапуститьПриложение(СтрокаКонсольнойКоманды,,Истина);
|
|||
29
Serginio1
15.08.16
✎
16:36
|
||||
30
Serginio1
19.08.16
✎
12:07
|
Сейчас доделываю чтение через openxml
Скачал отсюда https://github.com/ph1ll/Open-XML-SDK/tree/netstandard Скомпилировал под NetStandart1.6. Правда его в проектах без NuGet нельзя использовать, но через мою приблуду в 1С можно. Если вдруг нужно, скоро выложу |
|||
31
lodger
19.08.16
✎
12:29
|
(29) у меня одного глаз чешется когда читаю "Native ВК"? с какого перепугу он Native, если это ВНЕШНЯЯ Компонента?
(30) твоя приблуда умеет в .doc ? |
|||
32
DDwe
19.08.16
✎
12:32
|
Так хочется сказать, что Serginio1 достал! Но не скажу, т.к. невежливо.
|
|||
33
PRO100 NigGaZ
19.08.16
✎
12:48
|
(32) человек который пытается привнести в систему новое, свободное и хорошее - достал, яснопонятно
как говорят уточки в пруду - зря-зря-зря |
|||
34
Mauser
19.08.16
✎
13:10
|
(33) Аборигены всегда кушали миссионеров, смирись.
|
|||
35
Mauser
19.08.16
✎
13:10
|
И не зря, надо сказать, кушали
|
|||
36
lodger
19.08.16
✎
13:30
|
(33) ну открывать темы и устраивать срачики и проповеди там - прекрасно, с одобрения администрации. а заходить в каждую едва касательную тему и постить не-решение вопроса - это уже как свидетели иеговы.
(34) а прикольно (24) 6 раз сослался заранее. |
|||
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
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |