Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Delphi"


Паскаль, Делфи


 #0 Deep © 17.05.07 15:45:22 - 18.05.07 16:08:52

Конвертация *.doc и/или *.rtf в *.txt



Как можно рализовать подобный механизм конвертации для заданого списка файлов? Насколько я понимаю это легче всего используя COM-сервер самого Word~а...  Если у кого-то уже есть наброски кода в этом направлении большая просьба поделиться.   Цитата

 #1 Паша © 17.05.07 16:05:28

видимо, так и нужно делать. через сам ворд. файлы ему даешь из своего списка по-очереди. открыть/закрыть файл - есть в тырнете статьи, видел когда-то. ну а дальше - в ворде, как и в екселе есть такая штука - макросы. делаешь: выделить все, скопировать в буфер обмена. из буфера уже дельфями пишешь в файл или куда там. примитивно, долго, но работать должно. примеров нетути, звыняй.

с буфером обмена работать через TClipboard,

Clip:= Clipboard;
Clip.Open;
****
здеся копируешь из ворда
*****
str:= Clipboard.AsText;
Clip.Clear;
Clip.Close;

хотя, до конца не уверен в правильности, надо пробовать. потому как это первое, шо мне на ум взбрело
 #2 Зашел © 18.05.07 06:52:28

Присоединяешься к Ворду, открываешь файло, потом делаешь ему SaveAs и сохраняешь как текстовый файл - там один параметр за это отвечает, при этом отрубаешь его вопросы - чтобы не лез в чужие дела. Я море документов так конвертил в HTML.
Параметры смотреть в зависимости от версии офиса. Я под 98 конвертил - там HTML человеческий выходит. Но кода лежат дома. Если не продвинешься - кину вечером.
+1 к репутации автора  #3 Зашел © 18.05.07 07:19:31

В общем в таком направлении(для 2000):

implementation
   uses ComObj;
{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
 var MSWord,Doc : Variant;
begin
     MSWord := CreateOLEObject('Word.Application');
     Doc := MSWord.Documents.Open('Pattern.doc');
     Doc.SaveAs('Pit.txt',2);
     Doc.Close;
     MsWord:=UnAssigned
end;
 #4 Зашел © 18.05.07 07:21:16

Хотя за выключение не уверен, что так - забыл уже как правильно. Помедитируй на эту тему.
 #5 Паша © 18.05.07 10:38:43

точна! за СейвАз я как-то не подумал... как говорится, зачем просто, когда можно сложно! гыгы
 #6 Go © 18.05.07 12:51:47

хм.. а если rtf, то зачем ворд вообще!?
 #7 Deep © 18.05.07 13:26:20

> #6   Go ©
я не говорю, что ворд нужен, просто с ним я так понимаю меньше заморачиваться надо, чем если бы писать конвертор "с нуля". Да и хотелось бы чтоб можно было конвертировать и doc, и rtf. Хотя в принципе достаточно и одного формата. Причем если одного, то наверное лучше RTF, потому, что у ворда еще и версий много.    
 #8 Зашел © 18.05.07 13:30:20

> #7 Deep © 18.05.07 15:26:20

Ну да. Проблема собственно в той 2, что идет вторым параметром. В другой версии это может быть другое число. Но наверняка есть способ определить на лету - но я не готов сказать как.
 #9 Паша © 18.05.07 13:34:42

> #8 Зашел  ©

я думаю, шо не должно в ней быть проблемы. в экселе, по-крайней мере, такового не наблюдаецца начиная с 98. ниразу параметры не менял.
 #10 Зашел © 18.05.07 13:52:34

> #9 Паша © 18.05.07 15:34:42

Когда я сохранял в HTML с 98 на 2000 переходя - параметры менял.
 #11 Паша © 18.05.07 13:55:36

виш как... а в ехеле приемственность сохранилась. хотя может и не вовсем, СавеАз я не делал
+1 к репутации автора  #12 Go © 18.05.07 14:51:26

#7 Deep  © 18.05.07 15:26:20
я не говорю, что ворд нужен, просто с ним я так понимаю меньше заморачиваться надо, чем если бы писать конвертор "с нуля".
чего-то я не понимаю, никто не говорит о конвертерt с нуля, лучше объясните, чем не подходит TRichEdit
 #13 Паша © 18.05.07 14:53:01

> чем не подходит TRichEdit

мы не ищем простых путей!
 #14 Go © 18.05.07 15:07:17

мы не ищем простых путей!
хм.. неужели лучше поизвращаться с вордом?   а если на клиентской машине опен-офис,  то куда дальше!?  
 #15 Паша © 18.05.07 15:13:23

ну, тогда вешацца. я с этим опеном так ничего и не понял, как его юзать. ко всему прочему, он глючный, таблички из doc читает криво, да и возможностей маловато. хотя, это года три назад было, может и поправили, но у меня желания с ним работать больше не возникало.
 #16 Go © 18.05.07 15:51:26

ну не знаю - не знаю  у меня дома стоит.. разницы особой не заметила  
 #17 Паша © 18.05.07 15:54:41

а я заметил. когда по вине этой недоделанной хрени неправильно нарисовал бухгалтерский бланк к своей проге и в результате чуть не проспорил батл вотки. будучи уверенным, шо бланк нарисован правильно. шо-то из основных средцтв было такое. после чего снес этот опен нафик
 #18 Deep © 18.05.07 16:08:52

> #12   Go ©
да, пожалуй если остановится на RTF, то TRichEdit пожалуй идеальное решение        

что-то о нем я совсем позабыл, а там ведь всего две строчки:

 RichEdit1.PlainText := True;
  RichEdit1.Lines.LoadFromFile(Path);

вечером согласно ваших советов потыкаюсь еще с вордом, потом поделюсь впечатлениями    




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов