|   |   | 
| 
 | Извлечение текста из файла | ☑ | ||
|---|---|---|---|---|
| 0
    
        sunshineuee 01.04.21✎ 12:10 | 
        Подскажите, пожалуйста,
 как можно извлечь текст из файла кроме ЧтениеТекста? Не могу добиться ЧтениемТекста того, что вижу при открытии Notepad++, хоть обстену. COMОбъект("ADODB.???") | |||
| 1
    
        Kassern 01.04.21✎ 12:11 | 
        (0) а что за файл то?     | |||
| 2
    
        sunshineuee 01.04.21✎ 12:15 | 
        (1) по контектсу любой. отлаживаю на пдф. но мне нужно его отправить в post запросом и в пост положить исходное текстовое представление     | |||
| 3
    
        Волшебник 01.04.21✎ 12:19 | 
        (2) Если любой — это слишком сложная задача. Научитесь сначала работать с TXT, DOC/DOCX. 
 Файлы PDF оставьте на десерт. | |||
| 4
    
        sunshineuee 01.04.21✎ 12:22 | 
        (3) Постман из любого файла формаирует файл отправки... и делает это не двоичными данными     | |||
| 5
    
        Волшебник 01.04.21✎ 12:24 | 
        (4) Постман молодец.     | |||
| 6
    
        Kassern 01.04.21✎ 12:25 | 
        (4) берешь API постмана и делаешь все то же самое уже через 1с)     | |||
| 7
    
        Галахад гуру 01.04.21✎ 12:26 | 
        (0) Попробуй "ИзвлечениеТекста".     | |||
| 8
    
        sunshineuee 01.04.21✎ 12:36 | 
        Я уже получаю даже TXT, который мне нужен через COMОбъект("ADODB.Stream"). Но не могу даже из него нормально извлечь текст, 1совское ЧтениеТекста все коверкает...     | |||
| 9
    
        Волшебник 01.04.21✎ 12:37 | 
        (8) Покажи программный код     | |||
| 10
    
        sunshineuee 01.04.21✎ 12:42 | 
        (8) Вот так я получаю нужный мне файл TXT из PDF
 Файл=Новый COMОбъект("ADODB.Stream"); Файл.Mode=3; // r/w Файл.Type=2; //1-Binary, 2-Text Файл.Open(); Файл.LoadFromFile("\\server-edo\EDO_USDEP\SPECDEP\PIF\Мегаполис-Инвест\Виноградный\Входящие\20210119\ДКПБН 34 - 316.pdf"); Файл.Position=3; ТекстБезБОМ=Новый COMОбъект("ADODB.Stream"); ТекстБезБОМ.Mode=3; // r/w ТекстБезБОМ.Type=1; //1-Binary, 2-Text ТекстБезБОМ.Open(); Файл.CopyTo(ТекстБезБОМ); Файл.Close(); ТекстБезБОМ.SaveToFile("\\server-edo\EDO_USDEP\SPECDEP\PIF\TEST_CLIENT\TEST_FOND\Бумажные\q.txt",2); ТекстБезБОМ.Close(); Но даже из этого TXT я не могу извлечь текст как нужно. ФАЙл => ЧтениеТекст => ЗаписьТекста=> Другой файл... | |||
| 11
    
        Волшебник 01.04.21✎ 12:44 | 
        (10) Здесь нет "ЧтениеТекста"     | |||
| 12
    
        sunshineuee 01.04.21✎ 12:44 | 
        Кодировка везде UTF-8     | |||
| 13
    
        sunshineuee 01.04.21✎ 12:47 | 
        (11)
 ЧтениеТекста = Новый ЧтениеТекста("\\server-edo\EDO_USDEP\SPECDEP\PIF\TEST_CLIENT\TEST_FOND\Бумажные\q.txt", КодировкаТекста.UTF8); ЗаписьТекста = Новый ЗаписьТекста("\\server-edo\EDO_USDEP\SPECDEP\PIF\TEST_CLIENT\TEST_FOND\Бумажные\q1.txt"); ЗаписьТекста.Записать(ЧтениеТекста.Прочитать()); ЗаписьТекста.Закрыть(); | |||
| 14
    
        sunshineuee 01.04.21✎ 12:49 | 
        (11) Ппоправил для чистоты эксперимента коировку
 ЧтениеТекста = Новый ЧтениеТекста("\\server-edo\EDO_USDEP\SPECDEP\PIF\TEST_CLIENT\TEST_FOND\Бумажные\q.txt", КодировкаТекста.UTF8); ЗаписьТекста = Новый ЗаписьТекста("\\server-edo\EDO_USDEP\SPECDEP\PIF\TEST_CLIENT\TEST_FOND\Бумажные\q1.txt", КодировкаТекста.UTF8); ЗаписьТекста.Записать(ЧтениеТекста.Прочитать()); ЗаписьТекста.Закрыть(); На выходе получаю файлы отличающиеся в двое по размеру, с похожим но ИНЫМ содержанием | |||
| 15
    
        Йохохо 01.04.21✎ 12:54 | 
        (10) какая магия по вашему происходит при смене расширения файла и удаления бом?     | |||
| 16
    
        sunshineuee 01.04.21✎ 13:35 | 
        (15) Возможно никакой. Если бы я извлек текст нормально извлек текст нормально из ПДФ, мне бы не потребовалось менять расширение)     | |||
| 17
    
        Почему 1С 01.04.21✎ 13:40 | 
        двочиныеданныеПДФ = Новый ДвоичныеДанные("путь к файлу пдф");
 кодированныйпфдвтексте = Base64Строка(кодированныйпфдвтексте); | |||
| 18
    
        Почему 1С 01.04.21✎ 13:42 | 
        (17) кодированныйпфдвтексте = Base64Строка(двочиныеданныеПДФ ); апичатка     | |||
| 19
    
        acht 01.04.21✎ 13:44 | 
        (0) ИзвлечениеТекста     | |||
| 20
    
        sunshineuee 01.04.21✎ 13:53 | 
        Base64Строка(ДД) и ИзвлечениеТекста дают тоже другой результат. Файл тоже меняется     | |||
| 21
    
        Почему 1С 01.04.21✎ 13:56 | 
        (20) Base64Значение(кодированныйпфдвтексте) вернет исходные данные     | |||
| 22
    
        Почему 1С 01.04.21✎ 13:58 | 
        http сервис куда отправляешь файл тоже на 1с?     | |||
| 23
    
        sunshineuee 01.04.21✎ 13:58 | 
        (21)
 (20) PDF-1.3 %sƗ 1 0 obj <</ColorSpace/DeviceRGB/Width 2481/Length 985268/BitsPerComponent 8/Height 3507/Filter[/DCTDecode]/Type/XObject/Subtype/Image/Name/Im1>>stream �� JFIF ,, �� $.' ",#(7),01444'9=82<.342�� ИЛИ UERGLTEuMw0KJaGzxdcNCjEgMCBvYmoNCjw8L0NvbG9yU3BhY2UvRGV2aWNlUkdC L1dpZHRoIDI0ODEvTGVuZ3RoIDk4NTI2OC9CaXRzUGVyQ29tcG9uZW50IDgvSGVp Z2h0IDM1MDcvRmlsdGVyWy9EQ1REZWNvZGVdL1R5cGUvWE9iamVjdC9TdWJ0eXBl Вообще не похоже | |||
| 24
    
        sunshineuee 01.04.21✎ 13:59 | 
        (22) )))))
 Если б его можно было изменить, я бы пошел этим путем. Сервис не в 1с, не редактируется, даже в отладку не ставится | |||
| 25
    
        polosov 01.04.21✎ 14:00 | 
        (10) Пользуйся нормальными продуктами https://dl.xpdfreader.com/xpdf-tools-win-4.03.zip     | |||
| 26
    
        polosov 01.04.21✎ 14:00 | 
        +(25) В составе увидишь утилиту pdftotext     | |||
| 27
    
        Почему 1С 01.04.21✎ 14:04 | 
        (26) да ему извлечение текста пдф надо, а сам файлик отослать через http post на сервер, это на сколько я понял     | |||
| 28
    
        Почему 1С 01.04.21✎ 14:04 | 
        не извлечение текста     | |||
| 29
    
        sunshineuee 01.04.21✎ 14:06 | 
        (27) вообще мне нужно извлечь текст и отправить на сервер. И проблема в том, что извлекаемый текст при чтении меняется     | |||
| 30
    
        sunshineuee 01.04.21✎ 14:07 | 
        (26)  Как этим пользоваться?     | |||
| 31
    
        polosov 01.04.21✎ 14:09 | ||||
| 32
    
        Почему 1С 01.04.21✎ 14:09 | 
        (29) По показаниям в (4) сдается мне что вы не верно изъясняетесь     | |||
| 33
    
        sunshineuee 01.04.21✎ 19:35 | 
        //https://its.1c.ru/db/metod8dev/content/5917/hdoc
 ПотокоТело = Новый ПотокВПамяти(); ЗаписьТекста = Новый ЗаписьДанных(ПотокоТело); ЗаписьТекста.ЗаписатьСтроку("----------------------------" + Boundary); ЗаписьТекста.Записать(СоздатьСообщениеСДанными(ИмяФайлаЗагрузки, "\\server-edo\EDO_USDEP\SPECDEP\PIF\Мегаполис-Инвест\Виноградный\Входящие\20210119\ДКПБН 34 - 316.pdf")); ЗаписьТекста.ЗаписатьСтроку("----------------------------" + Boundary); // ДвоичныеДанныеТело = ПотокоТело.ЗакрытьИПолучитьДвоичныеДанные(); ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("Host", "vm-ario:61100"); ЗаголовокHTTP.Вставить("Content-Type", "multipart/form-data; boundary=" + "--------------------------" + Boundary); Запрос = Новый HTTPЗапрос(Ресурс, ЗаголовокHTTP); Запрос.УстановитьТелоИзДвоичныхДанных(ДвоичныеДанныеТело); Ответ = Соединение.ОтправитьДляОбработки(Запрос); Функция СоздатьСообщениеСДанными(ИмяФайлаЗагрузки, ПутьКФайлу) Поток = Новый ПотокВПамяти(); ЗаписьДанных = Новый ЗаписьДанных(Поток); ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=""file""; filename=""" + ИмяФайлаЗагрузки + """"); ЗаписьДанных.ЗаписатьСтроку("Content-Type: application/pdf"); ЗаписьДанных.ЗаписатьСтроку(""); //Данные = Base64Строка(Новый ДвоичныеДанные(ПутьКФайлу)); ЗаписьДанных.Записать(Новый ДвоичныеДанные(ПутьКФайлу)); ЗаписьДанных.Закрыть(); Возврат Поток.ЗакрытьИПолучитьДвоичныеДанные(); КонецФункции //Вопрос решён, хотя соглашусь, что в ключе такого решения сам вопрос поставлен некорректно. Предполагаемым путем вопрос не решился | |||
| 34
    
        Вафель 01.04.21✎ 20:36 | 
        есть же родное Извлечение Текста     | |||
| 35
    
        DES 01.04.21✎ 21:49 | 
        (34) оно  строки кучкует в одну     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |