Язык
RSS
Новости
Помощь сайту
Если Вам понравилась программа "Балаболка", Вы можете поддержать ее автора с помощью ЮMoney.

Балаболка Утилита для извлечения текста из файлов

Программа предназначена для извлечения текста из файлов различных форматов. Извлеченный текст может быть объединен в один файл и/или разбит на несколько файлов. К тексту могут быть применены правила из словарей коррекции произношения программы "Балаболка".

Поддерживаются форматы файлов: AZW, AZW3, CHM, DjVu, DOC, DOCX, EML, EPUB, FB2, FB3, HTML, LIT, MD, MHT, MOBI, ODP, ODS, ODT, PDB, PDF, PPT, PPTX, PRC, RTF, TCR, TXT, WPD, WRI, XLS, XLSX. Интерфейс IFilter будет использован для неизвестных программе форматов файлов.

Утилита не имеет графического интерфейса и выполняется в текстовом режиме. Режим работы программы может быть задан при помощи параметров командной строки или файла конфигурации.


Программа выполняет операции в следующем порядке:

  1. Извлечь текст из файла или нескольких файлов.
  2. Форматировать текст: удалить лишние пробелы, разрывы строк и т.д. (если заданы соответствующие параметры).
  3. Объединить текст в один файл (если задан соответствующий параметр).
  4. Разбить текст на части (если заданы соответствующие параметры).
  5. Применить правила коррекции произношения (если заданы соответствующие параметры).
  6. Сохранить текстовый файл или файлы на диске.

Загрузить утилиту BLB2TXT


Размер файла: МБ
 
Версия: История изменений
 
Тип лицензии: Freeware
 
Операционная система:




Командная строка

Программа может быть настроена с помощью параметров командной строки. Они отделяются друг от друга пробелом и начинаются с символа "-" (дефис). Значения параметров не чувствительны к регистру букв. Полный список параметров командной строки можно получить, введя команду blb2txt.exe с параметрами -? или -h.


-f имя_файла
Имя файла или маска для имен файлов, из которых требуется извлечь текст. Командная строка может содержать несколько параметров -f.
-fl имя_файла
Открыть файл со списком текстовых файлов (по одному имени файла на каждой строке).
-v имя_папки
Имя папки для сохранения файла с извлеченным текстом.
-p текст
Шаблон для имени файла с извлеченным текстом (например, "Текстовый документ"). Если параметр не задан, используется имя исходного файла.
  • Используйте переменную %FileName% в шаблоне для имени файла, чтобы вставить имя исходного файла (без расширения).
  • Используйте переменную %FirstLine%, чтобы вставить первую строку текста из документа.
  • Используйте переменную %Header%, чтобы вставить заголовок из оглавления документа.
  • Используйте переменную %Number%, чтобы поменять позицию порядкового номера внутри имени файла.
Внимание! При использовании в командном файле специальный символ % дублируется. Например: -p %%FirstLine%%
-ext текст
Расширение имени файла с извлеченным текстом. По умолчанию значение равно "txt".
-out имя_файла
Полное имя файла с извлеченным текстом. Рекомендуется применять параметр только в тех случаях, когда утилита используется в составе другого программного продукта. Если утилита применяется как внешняя программа для извлечения текста, команда запуска утилиты будет содержать имя входного файла и имя файла с извлеченным текстом.
-s
Искать файлы в подкаталогах.
-cf
Создать подкаталог для каждого файла, из которого извлекается текст. Имя файла будет именем подкаталога.
-i
Читать данные из стандартного потока ввода (STDIN). Формат файла будет автоматически определен по содержимому потока данных. Если параметр задан, параметр -f игнорируется.
-o
Записать текст в стандартный поток вывода (STDOUT). Если параметр задан, параметры -v и -p игнорируются.
-u
Объединить текст из нескольких файлов в один файл.
-b
Добавить порядковый номер перед именем файла (при разбиении текста на части).
-a
Добавить порядковый номер после имени файла (при разбиении текста на части).
-n число
Установить стартовый порядковый номер файла (при разбиении текста на части). По умолчанию значение равно 1.
-e кодировка
Кодировка файла с извлеченным текстом ("ansi", "utf8" или "unicode"). По умолчанию значение равно "ansi".
-t число
Задать способ разбиения текста: использование заданного размера файла. Число обозначает количество символов (включая пробелы, знаки препинания, символы перевода строки и возврата каретки).
-k ключевое_слово
Задать способ разбиения текста: поиск ключевого слова в исходном файле. Параметр является регистрозависимым. Командная строка может содержать несколько параметров -k.
-r ключевое_слово
Поделить текст на ключевом слове и удалить его из текста. Параметр является регистрозависимым. Командная строка может содержать несколько параметров -r.
-w
Задать способ разбиения текста: поиск двух пустых строк подряд.
-l
Задать способ разбиения текста: поиск строки, где все буквы заглавные.
-c
Задать способ разбиения текста: использовать оглавление документа. Программа извлечет позиции начал глав из электронной книги (если файл книги содержит такую информацию).
-toc
Задать способ разбиения текста: создать оглавление и разбить на части. Программа поделит текст при помощи найденных ключевых слов ("глава", "том" и др.). Если параметр используется совместно с параметром -c, программа сначала попытается извлечь оглавление из документа; если это не удастся, будет создано новое оглавление.
-m число
Задать минимальный размер каждой части при разбиении текста. Число обозначает количество символов (включая пробелы, знаки препинания, символы перевода строки и возврата каретки).
-j число
Игнорировать начало следующей главы при делении текста, если размер предыдущей части текста меньше заданного размера. Число обозначает количество символов (включая пробелы и знаки препинания). Параметр используется совместно с параметрами -c или -toc.
-hh текст
Вставить текст перед заголовками (например: ## Глава 1).
-d имя_файла
Использовать словарь для коррекции произношения (файл с расширением *.BXD, *.REX или *.DIC). Командная строка может содержать несколько параметров -d.
-if
Использовать интерфейс IFilter для извлечения текста. Если фильтр для формата файла отсутствует в системе, программа использует свой метод извлечения текста.
-g имя_папки
Имя папки для сохранения графических файлов, извлеченных из документа.
-cvr имя_папки
Имя папки для сохранения обложки книги, извлеченной из документа.
-cft
Созданный текстовый файл будет иметь те же дату и время создания, как у исходного документа. Параметр игнорируется, если текст объединяется из нескольких файлов или разбивается на части.
-x тип_файла
Задать формат входного документа. Это позволяет указать тип файла с неизвестным расширением. Например: -x doc.
-pwd текст
Задать пароль для извлечения текста из файла формата PDF.
-dll имя_файла
Полный путь к файлу 7z.dll. Эта 32-битная версия библиотеки позволяет извлекать данные из архивных файлов (ZIP, RAR и др.). 7z.dll входит в состав архиватора 7-Zip. Если параметр не задан, программа и библиотека должны находиться в одной папке. Если файл 7z.dll отсутствует, программа не сможет извлекать данные из архивных файлов.
-dex типы_файлов
Задать форматы файлов, которые должны быть извлечены из архивов. Типы файлов необходимо перечислить через запятую, например: -dex "fb2,epub"
Командная строка может содержать несколько параметров -dex. Если параметр не задан, программа извлечет текст из файлов всех форматов внутри архивных файлов. Если требуется извлечь данные из файлов только тех форматов, которые поддерживаются программой, необходимо использовать значение "all-". Например: -dex all-
-dne типы_файлов
Задать форматы файлов, которые необходимо игнорировать при извлечении данных из архивных файлов. Типы файлов необходимо перечислить через запятую, например: -dne "exe,dll"
Командная строка может содержать несколько параметров -dne. Если параметр не задан, программа извлечет текст из файлов всех форматов внутри архивных файлов.
-dp
Показать индикатор прогресса выполнения в окне консольного приложения.
-cfg имя_файла
Задать имя файла конфигурации с параметрами командной строки (текстовый файл, каждая строка которого содержит по одному параметру). Если параметр не задан, будет выбран файл blb2txt.cfg в той же папке, что и консольное приложение.
-h
Показать описание параметров командной строки.
--remove-spaces или -rs
Удалить лишние пробелы (два и более пробела подряд, неразрывные пробелы).
--remove-hyphens или -rh
Удалить знаки переноса на концах строк в тексте.
--remove-linebreaks или -rl
Удалить разрывы строк внутри абзацев.
--remove-empty-lines или -rm
Удалить все пустые строки.
--replace-empty-lines или -rp
Заменить несколько пустых строк одной пустой строкой.
--remove-square-brackets или -rsb
Удалить текст внутри [квадратных скобок].
--remove-curly-brackets или -rcb
Удалить текст внутри {фигурных скобок}.
--remove-angle-brackets или -rab
Удалить текст внутри <угловых скобок>.
--remove-round-brackets или -rrb
Удалить текст внутри (круглых скобок).
--remove-comments или -rc
Удалить комментарии. Однострочные комментарии начинаются с // и продолжаются до конца строки. Многострочные комментарии начинаются с /* и завершаются */.
--remove-page-numbers или -rpn
Удалить номера страниц (это может быть полезно для файлов форматов DjVu/PDF).
--fix-ocr-errors или -ocr
Исправить ошибки, возникшие при оптическом распознавании текста (только для языков с кириллическими алфавитами).
--fix-letter-spacing или -ls
Убрать разрядку в словах (например: п р о б е л, _с_л_о_в_о).
--add-period или -ap
Добавить точку, если в конце абзаца нет знака препинания.
--extract-summary число или -es число
Извлечь аннотацию из файлов форматов FB2/FB3 и вставить в начало текста. Возможные значения для числового параметра:
  • 0 – не извлекать аннотацию (значение используется по умолчанию);
  • 1..5 – извлечь аннотацию (параметр определяет, в каком порядке будут указаны автор книги и ее название).
--skip-notes или -sn
Игнорировать список примечаний в конце файлов форматов DOCX/FB2/FB3/MD/ODT.
--include-notes число или -in число
Добавить сноски и примечания из файлов форматов DOCX/FB2/FB3/MD/ODT внутрь текста.
Возможные значения для числового параметра:
  • 0 – удалить ссылки на примечания из текста;
  • 1 – сохранить текущие позиции сносок и примечаний в тексте
    (значение используется по умолчанию);
  • 2 – переместить сноски и примечания в конец предложений;
  • 3 – переместить сноски и примечания в конец абзацев.
--insert-note-begin текст или -inb текст
Вставить слова в начало сносок и примечаний внутри текста (например: Примечание редактора.). Параметр используется при извлечении текста из файлов форматов DOCX/FB2/FB3/MD/ODT.
--insert-note-end текст или -ine текст
Вставить слова в конец сносок и примечаний внутри текста (например: Конец примечания.). Параметр используется при извлечении текста из файлов форматов DOCX/FB2/FB3/MD/ODT.
--extract-tables число или -et число
Извлечь таблицы из файлов форматов DOCX/FB2/FB3/ODT. Возможные значения для числового параметра:
  • 0 – удалить таблицы;
  • 1 – извлечь данные из каждой ячейки таблицы как новую строку текста
    (значение используется по умолчанию);
  • 2 – сохранить форматирование таблицы при извлечении текста.
--csv-comma
Использовать запятую как разделитель значений колонок при извлечении данных из файлов форматов XLS/XLSX/ODS (используется по умолчанию).
--csv-semicolon
Использовать точку с запятой как разделитель значений колонок при извлечении данных из файлов форматов XLS/XLSX/ODS.
--csv-space
Использовать пробел как разделитель значений колонок при извлечении данных из файлов форматов XLS/XLSX/ODS.
--csv-tab
Использовать табуляцию как разделитель значений колонок при извлечении данных из файлов форматов XLS/XLSX/ODS.
--csv-double-quote
Использовать двойные кавычки как ограничитель строк при извлечении данных из файлов форматов XLS/XLSX/ODS (используются по умолчанию).
--csv-single-quote
Использовать одиночные кавычки как ограничитель строк при извлечении данных из файлов форматов XLS/XLSX/ODS.
--eml-save имя_папки
Извлечь файлы, прикрепленные к сообщению, из документов формата EML и сохранить в заданной папке.
--eml-att
Извлечь список имен файлов, прикрепленных к сообщению, из документов формата EML. Имена файлов будут перечислены через запятую.
--eml-cc
Извлечь поле "Cc" из заголовка сообщения в файле формата EML ("carbon copy": имена и адреса вторичных получателей письма, которым направляется копия).
--eml-date формат_даты
Извлечь поле "Date" из заголовка сообщения в файле формата EML (дата и время отправки письма). Формат даты задан при помощи специальных символов ("d", "m", "y" и др.). Например: "dd.mm.yyyy hh:nn:ss".
--eml-from
Извлечь поле "From" из заголовка сообщения в файле формата EML (имя и адрес отправителя).
--eml-org
Извлечь поле "Organization" из заголовка сообщения в файле формата EML (название организации, которая предоставила доступ к сети для отправки письма).
--eml-rt
Извлечь поле "Reply-To" из заголовка сообщения в файле формата EML (имя и адрес, куда следует адресовать ответы на письмо).
--eml-subj
Извлечь поле "Subject" из заголовка сообщения в файле формата EML (тема письма).
--eml-to
Извлечь поле "To" из заголовка сообщения в файле формата EML (имя и адрес получателя).


Примеры команд

Извлечь текст из документа "book.doc" и сохранить как текстовый файл "book.txt" в указанной папке:

blb2txt -f "d:\Docs\book.doc" -v "d:\Text\"



Если указан только один входной файл, для извлечения текста может быть использована такая командная строка:

blb2txt -f "d:\Docs\book.doc" -out "d:\Text\book.txt"



Извлечь текст из файлов форматов DOC и RTF, удалить пустые строки и сохранить как текстовые файлы в кодировке UTF-8:

blb2txt -f "d:\Docs\*.doc" -f "d:\Docs\*.rtf" -v "d:\Text\" -e utf8 -rm



Извлечь текст из всех текстовых файлов в папке, объединить и сохранить как текстовый файл "Документ.txt":

blb2txt -f "d:\Docs\*.txt" -v "d:\Text\" -p "Документ" -u



Извлечь текст из документа "document.doc", разбить на части размером 100 Кб и сохранить как файлы с именами "Документ 20.txt", "Документ 21.txt":

blb2txt -f "d:\Docs\document.doc" -v "d:\Text\" -p "Документ" -a -n 20 -t 100000



Извлечь текст из книги "book.fb2", найти слова "ГЛАВА" и "ОГЛАВЛЕНИЕ" для того, чтобы разбить текст на части и сохранить как файлы с именами "Книга 1.txt", "Книга 2.txt":

blb2txt -f "d:\Book\book.fb2" -v "d:\Text\" -p "Книга" -k "ГЛАВА" -k "ОГЛАВЛЕНИЕ"



Извлечь текст из книги "book.epub", найти символы "###" для того, чтобы разбить его на части, и удалить символы из текста:

blb2txt -f "d:\Book\book.epub" -v "d:\Text\" -p "Книга" -r "###"



Извлечь текст из книги "book.fb2", разбить текст на части, используя оглавление, и сохранить как файлы с именами "Книга 1.txt", "Книга 2.txt". Размер нового текстого файла не должен быть меньше одного килобайта:

blb2txt -f "d:\Book\book.fb2" -v "d:\Text\" -p "Книга" -c -j 1024



Прочесть текст из стандартного потока ввода, удалить лишние пробелы, разрывы строк внутри абзацев и пустые строки, записать текст в стандартный поток вывода:

blb2txt -i -o --remove-spaces --remove-linebreaks --replace-empty-lines



Извлечь текст из документов Microsoft Word, находящихся внутри архивных файлов формата ZIP:

blb2txt -f "d:\Archive\*.zip" -v "d:\Text\" -dll "e:\7-Zip\7z.dll" -dex doc,docx




Файл конфигурации

Параметры можно сохранить как файл конфигурации blb2txt.cfg в той же папке, что и консольное приложение.

Пример содержимого файла:

-f d:\Docs\*.rtf
-f d:\Books\*.epub
-f d:\Books\*.fb2
-v d:\Text
-b
-n 1
-t 25000
-e utf8
-d d:\Dict\rules.bxd
--remove-spaces
--remove-linebreaks
--replace-empty-lines

Программа может комбинировать параметры из файла конфигурации и командной строки.




Лицензия

Коммерческое использование программы допускается только с разрешения правообладателя.