Обзор проблематики и теоретических основ электронного документооборота

Ознакомление с результатами сравнительного анализа программ для распознавания текста. Исследование и характеристика особенностей объекта автоматизации и структуры документооборота. Изучение и анализ процесса написания кода программы для автоматизации.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 09.09.2016
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Для автоматизации были разработаны и использованы различные модули: модуль распознавания текста, модуль загрузки файла, модуль анализа и занесения в таблицу данных и модуль выгрузки. Суть разбиения на модули заключается в том, что каждый отдельный модуль можно дорабатывать для большей оптимизации или изменять по необходимости. Поэтому у такой структуры есть дальнейшая возможность развития системы. Далее были описаны классы и модули, используемые при создании программы. Важно отметить, что функция анализа, состоящая из поиска ключевых слов, реализована именно таким образом, потому что документы имеют одну и ту же структуру и одинаковые слова для поиска.

В заключение хочется отметить, что данная разработка показала себя как сильный инструмент автоматизации документооборота. С помощью такой программы реально получилось максимально снизить время, затрачиваемое на обработку документации, а также избавить от «механической» работы сотрудника, ответственного за этот бизнес-процесс. При использовании данной системы предположительно можно сократить трех сотрудников, а это означает сэкономить для департамента примерно 350 тысяч рублей, которые могут быть использованы как для вложения в данный проект, так и на другие цели. Также важно сказать, что у данного проекта есть потенциал для будущего развития и повсеместного использования. Программы для автоматизации документооборота пользуются спросом на рынке IT, поэтому внедрение данной системы представляется весьма актуальным. программа автоматизация документооборот

Список используемой литературы

1. Рейнгольд Л. Обзор систем электронного документооборота URL: http://www.ixbt.com/soft/sed.shtml (дата обращения 10.04.2016)

2. Ричардсон Роберт. Документооборот для всех остальных // Журнал сетевых решений/LAN. 1998. N 2. URL: http://www.osp.ru/ (дата обращения 12.04.2016)

3. Association for Information and Image Management, AIIM URL: http://www.aiim.org/ (дата обращения 13.04.2016)

4. IT Definitions and Glossary, Gartner URL: http://www.gartner.com/technology/home.jsp (дата обращения 13.04.2016)

5. Электронный документооборот в России: история и современное состояние дел | HR-Portal URL: http://hr-portal.ru (дата обращения 27.04.2016)

6. Виды исполнительных документов URL: http://legalquest.ru/ispolnitelnoe-proizvodstvo/ (дата обращения 15.04.2016)

7. Программа для оптического распознавания текста URL: https://www.abbyy.com/ru-ru/finereader/ (дата обращения 20.04.2016)

8. Использование Windows Forms и шаблонов классов URL: http://5fan.ru (дата обращения 01.05.2016)

9. Вакансии и информация о зарплатах URL: http://ru.indeed.com/ (дата обращения 13.05.2016) и URL: http://gderabotaem.ru/ (дата обращения 09.05.2016)

10. CyberForum.ru - форум программистов и сисадминов (2/5) URL: http://cyberforum.ru (дата обращения 10.05.2016)

Приложение

Исполняемый код программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.IO;

using Microsoft.Office.Interop.Excel;

using SD = System.Data;

using Excel = Microsoft.Office.Interop.Excel;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

List<string> _Test = new List<string>();

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

button1.Enabled = false;

button6.Enabled = false;

}

public void Upload()

{

textBox1.Clear();

OpenFileDialog Fd = new OpenFileDialog();

Fd.Multiselect = true;

Fd.Title = "Выберите файл"; // Показываем надпись в наверху диалога.

Fd.InitialDirectory = @"\\psf\Home\Downloads\WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug";

// Выбираем первоначальную папку.

Fd.Filter = "текстовые.файлы (*.txt)|*.txt;|Все файлы|*.*"; //Фильтр для отображения файлов формата .txt

// Показываем диалог и считываем каждый выбранный файл в массив файлов

if (Fd.ShowDialog() == DialogResult.OK)

{

for (int i = 0; i < Fd.FileNames.Length; i++)

{

string file = Fd.FileNames[i];

System.IO.StreamReader reader = new System.IO.StreamReader(file);

textBox1.Text += reader.ReadToEnd();

System.IO.StreamReader reader1 = new System.IO.StreamReader(file);

_Test.Add(reader1.ReadToEnd());

if (textBox1.Text != null)

button1.Enabled = true;

}

}

}

private SD.DataTable CreateTable(List<string> test)

{

DataRow row;

for (int i = 0; i < _Test.Count; i++)//цикл для разбития файла на слова, обработку и добавление в таблицу

{

row = localDBDataSet.DB.NewRow();//создаем новую строку

string[] data = new string[40];

string[] slovo = new string[10];//создание массива слов которые будут добавляться в строку таблицы

string[] key = new string[999]; //создание массива слов содержащий слова из файла

key = _Test[i].Split(" .,?!;:_\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

//разбитие файла на слова

for (int u = 0; u < key.Length; u++)

{

row["Id"] = i + 1;

if ((key[u] == "Должник") || (key[u] == "должник"))

{

slovo[1] = key[u + 1] + " " + key[u + 2] + " " + key[u + 3];

if ((key[u + 4] == "Оглы") || (key[u + 4] == "оглы") || (key[u + 4] == "Кызы") || (key[u + 4] == "кызы"))

{

slovo[1] = slovo[1] + " " +key[u + 4];

}

row["ФИО"] = slovo[1];

}

for (int d = 1; d <= 31; d++)

{

data[d] = Convert.ToString(d);

if ((key[u] == "дата") && (key[u + 1] == "рождения") && (key[u + 2] == data[d]))

{

slovo[2] = key[u + 2] + " " + key[u + 3] + " " + key[u + 4];

row["Дата рождения"] = slovo[2];

}

}

if ((key[u] == "ФС") || (key[u] == "ВС") || (key[u] == "АС") && (key[u+2].Length == 9))

{

slovo[3] = key[u] + " " + key[u + 1] + " " + key[u + 2];

row["Номер ИЛ"] = slovo[3];

}

for (int d = 1; d <= 31; d++)

{

data[d] = Convert.ToString(d);

if ((key[u] == "лист") && (key[u + 1] == "выдан") && (key[u + 2] == data[d]))

{

slovo[4] = key[u + 2] + " " + key[u + 3] + " " + key[u + 4];

row["ИЛ выдан"] = slovo[4];

}

}

}

localDBDataSet.DB.Rows.Add(row);

if (localDBDataSet.DB.Rows != null)

button6.Enabled = true;

}

return localDBDataSet.DB;

}

private void ExportToExcel()

{

Excel.Application exApp = new Excel.Application();

exApp.Visible = true;

exApp.Workbooks.Add();

Worksheet workSheet = (Worksheet)exApp.ActiveSheet;

workSheet.Cells[1, 2] = "Акт приема-передачи документов";

Excel.Range _excelCells = (Excel.Range)workSheet.get_Range("B1", "E1").Cells;

_excelCells.Merge(Type.Missing);

(workSheet.Cells[1, 2] as Excel.Range).Font.Bold = true; // жирность

(workSheet.Cells[1, 2] as Excel.Range).Font.Size = 14; // Размер шрифта

_excelCells.HorizontalAlignment = Excel.Constants.xlCenter;

_excelCells.VerticalAlignment = Excel.Constants.xlCenter;

workSheet.Cells[3, 2] = "Дата передачи:" + " " + System.DateTime.Now;

workSheet.Cells[5, 1] = "Id";

workSheet.Cells[5, 2] = "ФИО";

workSheet.Cells[5, 3] = "Дата рождения";

workSheet.Cells[5, 4] = "Номер ИЛ";

workSheet.Cells[5, 5] = "ИЛ выдан";

for (int i = 0; i < dBDataGridView.Rows.Count - 1; i++)

{

for (int j = 0; j < dBDataGridView.ColumnCount; j++)

{

workSheet.Cells[i + 6, j + 1] = dBDataGridView.Rows[i].Cells[j].Value;

}

}

workSheet.Cells[dBDataGridView.Rows.Count + 6, 2] = "От кого:";

workSheet.Cells[dBDataGridView.Rows.Count + 6, 4] = "Кому:";

int kolvo = dBDataGridView.Rows.Count + 4;

var cells = workSheet.get_Range("A5", "E" + kolvo);

cells.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideVertical].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous; // внутренние вертикальные

cells.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideHorizontal].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous; // внутренние горизонтальные

cells.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous; // верхняя внешняя

cells.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeRight].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous; // правая внешняя

cells.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeLeft].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous; // левая внешняя

cells.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;

workSheet.Columns.AutoFit();

string pathToXmlFile;

pathToXmlFile = Environment.CurrentDirectory + "\\" + "MyFile.xlsx";

workSheet.SaveAs("MyFile.xlsx");

exApp.Quit();

}

private void button7_Click(object sender, EventArgs e)

{

Upload();

}

private void button1_Click(object sender, EventArgs e)

{

CreateTable(_Test);

}

private void button6_Click(object sender, EventArgs e)

{

ExportToExcel();

}

private void dBBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{

this.Validate();

this.dBBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.localDBDataSet);

}

}

}

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.