Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/58: Рейтинг темы: голосов - 58, средняя оценка - 4.53
 Аватар для desys
-7 / 12 / 1
Регистрация: 01.09.2012
Сообщений: 60

Вывод на форму содержимого документа *.doc

04.09.2012, 12:09. Показов 11012. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как научить форму выводить содержимое документа .doc .docx?
Есть необходимость в мини doc ридере! Желательно без установки офиса.
Тема вроде интересная, помогите люди добрые...

Добавлено через 14 часов 25 минут
Ни кому не интересно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.09.2012, 12:09
Ответы с готовыми решениями:

Генерация doc документа
Всем привет. Стоит такая задача: нужно создать приложение, в котором я заполняю поля, отмечаю что нужно флажками и т д и оно генерирует...

Отображение содержимого doc файла
Как отобразить содержимое doc файла в richtextbox ? Я так понял, что с doc файлами нужно работать по иному, нежели с txt.

Обработка doc документа в Excel
Приветствую, Существует следующая задача, имеется док документ с оглавлением, каждая глава имеет одинаковыую структуру Как реализовать...

6
Заблокирован
04.09.2012, 12:15
Вот нашел у себя пример: Как открыть Ворд-документ в richTextBox
Проверять поленился.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 using Word = Microsoft.Office.Interop.Word;//добавить в ссылки
    public partial class Form1 : Form
    {
        Button button;
        RichTextBox richTextBox;
        public Form1()
        {
            InitializeComponent();
            richTextBox = new RichTextBox();
            richTextBox.Size = new Size(400, 400);
            button = new Button();
            button.Text = "Открыть";
            button.Location = new Point(10, 10);
            this.Size = new Size(500, 500);
            richTextBox.Location = new Point(10, button.Bottom + 10);
            richTextBox.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
            this.Controls.AddRange(new Control[] { button, richTextBox });
            button.Click += new EventHandler(button_Click);
        }
 
        void button_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "MS Word dosuments (*.docx)|*.docx|Rich text format (*.rtf)|*.rtf";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                if (openFileDialog.FilterIndex == 1)//если формат документа Word 2007
                {
                    Word.Application app = new Microsoft.Office.Interop.Word.Application();//процесс ворда
                    Object docxFileName = openFileDialog.FileName;//имя файла
                    Object missing = Type.Missing;
                    //открыли дркумент
                    app.Documents.Open(ref docxFileName, ref missing,
                        ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing);
                    //путь к папке с временными файлами
                    string temp = System.IO.Path.GetTempPath();
                    //для передачи параметров при пересохранении
                    Object lookComments = false;
                    Object password = String.Empty;
                    Object AddToRecentFiles = true;
                    Object WritePassword = String.Empty;
                    Object ReadOnlyRecommended = false;
                    Object EmbedTrueTypeFonts = false;
                    Object SaveFormsData = false;
                    Object SaveAsAOCELetter = false;
                    //имя файла без расширения
                    Object rtfFileName = openFileDialog.SafeFileName.Substring(0, openFileDialog.SafeFileName.Length - ".docx".Length);
                    //создали рандом
                    Random random = new Random();
                    //проверяем есть ли файл с таким именем
                    while (System.IO.File.Exists(rtfFileName + ".rtf"))
                        //генерируем случайное имя файла
                        rtfFileName += random.Next(0, 9).ToString();
                    //формат RTF
                    Object wdFormatRTF = Word.WdSaveFormat.wdFormatRTF;
                    //приписали расширение
                    rtfFileName += ".rtf";
                    //приписали путь к временным файлам
                    rtfFileName = temp + rtfFileName;
                    //пересохранили
                    app.ActiveDocument.SaveAs(ref rtfFileName,
                        ref wdFormatRTF, ref lookComments, ref password, ref AddToRecentFiles, ref WritePassword, ref ReadOnlyRecommended,
                        ref EmbedTrueTypeFonts, ref missing, ref SaveFormsData, ref SaveAsAOCELetter, ref missing,
                        ref missing, ref missing, ref missing, ref missing);
                    //переменная
                    Object @false = false;
                    //закрыли текущий документ
                    app.ActiveDocument.Close(ref @false, ref missing, ref missing);
                    //вышли из ворда
                    app.Quit(ref @false, ref missing, ref missing);
                    //прочли файл
                    richTextBox.LoadFile((String)rtfFileName);
                }
                if (openFileDialog.FilterIndex == 2)
                    richTextBox.LoadFile(openFileDialog.FileName);
            }
        }
    }
1
17 / 17 / 0
Регистрация: 12.08.2012
Сообщений: 98
Записей в блоге: 1
04.09.2012, 12:40
Цитата Сообщение от desys Посмотреть сообщение
Желательно без установки офиса.
Foks, если я не ошибаюсь то Microsoft.Office.Interop.Word; требует наличия Office

скачайте OfficeOpenXml (гугл в помощь) по принципу работы почти тоже самое
примером поделится не могу(не сталкивался) но могу сказать что с excel работает без проблем
1
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
04.09.2012, 12:44
Считать то файл не проблема, вопрос в том как отобразить его содержимое , это не только текст , но и таблицы , картинки , возможно скрипты и т.п. Простым richtext-ом для отображения не обойтись.
В WPF есть DocumentViewer - который более менее умеет это делать , правда ему все равно требуются оффисные сборки для конвертации в XPS формат, хотя сам офис ставить при этом не обязательно.
Миниатюры
Вывод на форму содержимого документа *.doc  
1
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
04.09.2012, 14:15
Если нужен word doc reader - таки есть официальный от MS, поищите.
1
 Аватар для desys
-7 / 12 / 1
Регистрация: 01.09.2012
Сообщений: 60
04.09.2012, 20:52  [ТС]
Проверил, код идеален!) То что нужно, Супер!
0
11 / 11 / 8
Регистрация: 18.09.2012
Сообщений: 514
21.03.2014, 21:11
Цитата Сообщение от Foks Посмотреть сообщение
using Word = Microsoft.Office.Interop.Word;
где найти этот модуль??

Добавлено через 21 час 53 минуты
Цитата Сообщение от pirat2k Посмотреть сообщение
где найти этот модуль??
уже нашел спс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2014, 21:11
Помогаю со студенческими работами здесь

Вывод содержимого папки(такой то) и содержимого дисков
задание выглядит так "Выведите на окно консоли содержимое дисков, а также папки «Мои документы» с информацией о размере имеющихся в ней...

Создание doc документа на основе формы C#
Есть форма, на ней расставлено несколько textbox. Необходимо на их основе создать Word документ, для последующей печать. Пример: У...

Вывод *.doc файла на форму
Собственно можно ли вывести doc(docx) файл на форму? В виде превью или чего-то похожего(без возможности редактирования. Заранее спасибо

Вывод текста из документа на форму до определенного знака
Здравствуйте! Нужно написать цикл для вывода содержимого из текстового документа в textbox. Содержимое документа выглядит примерно...

Как мне сделать считывание doc документа в textbox?
Как мне сделать считывание doc документа в textbox?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru