Извлечь текст open document. Извлечь текст из файла OpenDocument и возвратить его в виде строки.
// Извлечь текст из файла OpenDocument и возвратить его в виде строки.
//
Функция ИзвлечьТекстOpenDocument(ПутьКФайлу, Отказ) Экспорт
ИзвлеченныйТекст = "";
#Если Не ВебКлиент И НЕ МобильныйКлиент Тогда
ВременнаяПапкаДляРазархивирования = ПолучитьИмяВременногоФайла("");
ВременныйZIPФайл = ПолучитьИмяВременногоФайла("zip");
КопироватьФайл(ПутьКФайлу, ВременныйZIPФайл);
Файл = Новый Файл(ВременныйZIPФайл);
Файл.УстановитьТолькоЧтение(Ложь);
Попытка
Архив = Новый ЧтениеZipФайла();
Архив.Открыть(ВременныйZIPФайл);
Архив.ИзвлечьВсе(ВременнаяПапкаДляРазархивирования, РежимВосстановленияПутейФайловZIP.Восстанавливать);
Архив.Закрыть();
ЧтениеXML = Новый ЧтениеXML();
ЧтениеXML.ОткрытьФайл(ВременнаяПапкаДляРазархивирования + "/content.xml");
ИзвлеченныйТекст = ИзвлечьТекстИзContentXML(ЧтениеXML);
ЧтениеXML.Закрыть();
Исключение
// Не считаем ошибкой, т.к. например расширение OTF может быть как OpenDocument, так и шрифт OpenType.
Архив = Неопределено;
ЧтениеXML = Неопределено;
Отказ = Истина;
ИзвлеченныйТекст = "";
КонецПопытки;
УдалитьФайлы(ВременнаяПапкаДляРазархивирования);
УдалитьФайлы(ВременныйZIPФайл);
#КонецЕсли
Возврат ИзвлеченныйТекст;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ИзвлечьТекстИзФайлаНаДиске (БСП)
ИзвлечьТекстИзТекстовогоФайла (БСП)
ИзвлечьТекстИзФайловНаСервере (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)