Преобразовать документ в формате Word или docx файлы в текстовые файлы?

Для MySQL 5.0.3 и выше, можно использовать BIT. В руководстве говорится:

С MySQL 5.0.3, Тип данных bit используется для хранения значений битового поля. Тип BIT (M) включает устройство хранения данных значений Мбит. M может колебаться от 1 до 64.

Иначе, согласно руководству MySQL можно использовать bool и булевскую переменную, которые являются в данный момент псевдонимами tinyint (1):

Bool, булевская переменная: Эти типы являются синонимами для TINYINT (1). Значение нуля считают ложью. Ненулевые значения считают верными.

MySQL также указывает что:

Мы намереваемся реализовать полную булеву обработку типа, в соответствии со стандартным SQL, в будущем выпуске MySQL.

Ссылки: http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html

12
задан edi9999 22 September 2014 в 13:53
поделиться

8 ответов

Обратите внимание, что отличным источником информации для приложений Microsoft Office является обозреватель объектов . Вы можете получить к нему доступ через Инструменты Макрос Редактор Visual Basic . Как только вы войдете в редактор, нажмите F2 , чтобы просмотреть интерфейсы, методы и свойства, предоставляемые приложениями Microsoft Office.

Вот пример использования Win32 :: OLE :

#!/usr/bin/perl

use strict;
use warnings;

use File::Spec::Functions qw( catfile );

use Win32::OLE;
use Win32::OLE::Const 'Microsoft Word';
$Win32::OLE::Warn = 3;

my $word = get_word();
$word->{Visible} = 0;

my $doc = $word->{Documents}->Open(catfile $ENV{TEMP}, 'test.docx');

$doc->SaveAs(
    catfile($ENV{TEMP}, 'test.txt'),
    wdFormatTextLineBreaks
);

$doc->Close(0);

sub get_word {
    my $word;
    eval {
        $word = Win32::OLE->GetActiveObject('Word.Application');
    };

    die "$@\n" if $@;

    unless(defined $word) {
        $word = Win32::OLE->new('Word.Application', sub { $_[0]->Quit })
            or die "Oops, cannot start Word: ",
                   Win32::OLE->LastError, "\n";
    }
    return $word;
}
__END__
9
ответ дан 2 December 2019 в 03:54
поделиться

Я настоятельно рекомендую AsposeWords , если вы умеете работать с Java или .NET. Он может конвертировать без установленного Word между всеми основными типами текстовых файлов.

4
ответ дан 2 December 2019 в 03:54
поделиться

If you have some flavour of unix installed, you can use the 'strings' utility to find and extract all readable strings from the document. There will be some mess before and after the text you are looking for, but the results will be readable.

4
ответ дан 2 December 2019 в 03:54
поделиться

Простое решение для docx только на Perl:

  1. Используйте Archive :: Zip , чтобы получить файл word / document.xml из вашего файл docx . (Docx - это просто заархивированный архив.)

  2. Используйте XML :: LibXML для его анализа.

  3. Затем используйте XML :: LibXSLT , чтобы преобразовать его в текст или HTML формат. Поищите в Интернете красивый файл docx2txt.xsl :)

Ура!

J.

12
ответ дан 2 December 2019 в 03:54
поделиться

.doc, которые используют WordprocessingML и .docx в формате XML , их XML может быть проанализирован для извлечения фактического текста документа. Вам нужно будет прочитать их спецификации, чтобы выяснить, какие теги содержат читаемый текст.

1
ответ дан 2 December 2019 в 03:54
поделиться

Вы не можете сделать это в VBA, если не хотите запускать Word (или другое приложение Office). Даже если вы имели в виду VB, вам все равно придется запустить (скрытый) экземпляр Word для обработки.

0
ответ дан 2 December 2019 в 03:54
поделиться

Мне нужен способ конвертировать расширения .doc или .docx в .txt без установки чего-либо

for I in *.doc?; do mv $I `echo $ | sed 's/\.docx?/\.txt'`; done

Шучу.

Вы можете использовать антислово для старых версий документов Word и попробуйте проанализировать xml новых.

0
ответ дан 2 December 2019 в 03:54
поделиться

Обратите внимание, что вы также можете использовать OpenOffice для выполнения различных преобразований документов, рисунков, электронных таблиц и т. Д. На платформах Windows и * nix.

Вы можете получить доступ к OpenOffice программно (аналогично COM в Windows) через UNO из множества языков, для которых существует привязка UNO, в том числе из Perl через OpenOffice :: UNO модуль.

На странице OpenOffice :: UNO вы также найдете образец скриптлета Perl, который открывает документ, все, что вам нужно сделать, это экспортировать его в txt с помощью document.storeToURL () - см. пример Python , который можно легко адаптировать к вашим потребностям Perl.

2
ответ дан 2 December 2019 в 03:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: