ИзвлечьТекстOpenDocument (БСП)

Автор: 1С
ОбщийМодуль.РаботаСФайламиСлужебныйКлиентСервер
БСП

Извлечь текст 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
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ИзвлечьТекстИзФайлаНаДиске (БСП)

ИзвлечьТекстИзФайлов (БСП)

ИзвлечьТекстИзТекстовогоФайла (БСП)

ИзвлечьТекстИзHTML (БСП)

ИзвлечьТекстИзФайловНаСервере (БСП)

ИзвлечьТекст (БСП)

ИзвлечьТекстВерсии (БСП)

ТекстЗапросаДляИзвлеченияТекста (БСП)

ИзвлечьСообщениеБлокировки (БСП)

Синтакс-помощник БСП с нейросетевым ассистентом