Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / сканированный документ / 25 сообщений из 162, страница 1 из 7
07.06.2007, 09:56
    #34579969
kobra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
всем привет.
у меня такая проблема:
есть сканированный документ, ссылка на который сохраняется в базу данных. возможно ли вообще со сканированного документа вытащить какие либо данные, если знать постоянное расположение этих данных?
...
Рейтинг: 0 / 0
07.06.2007, 10:14
    #34580010
Karfaqen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Если ваш скан-файл в некотором текстовом формате, то можете просто открыть его, поискать там ваши "постоянные расположения" и вычитать из них нужные вам данные.
...
Рейтинг: 0 / 0
07.06.2007, 10:17
    #34580023
kobra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
это все мне понятно. но проблема в том, что:
сканирует документ - 1 отдел, 2 отдел открывает журнал и видит, что документ загружен, т.к. документов много, необходимо видеть из этого документа название фирмы и номер ПП, чтобы не открывать все в подряд. :)
...
Рейтинг: 0 / 0
07.06.2007, 10:48
    #34580143
Karfaqen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
kobraнеобходимо видеть из этого документа название фирмы и номер ПП, чтобы не открывать все в подряд.Мой ответ был именно про это. В процедуре, вызываемой при занесении в базу ссылки на файл, открываете этот самый свой сканированный файл, находите в нем название фирмы и пишете в нужное поле.
...
Рейтинг: 0 / 0
07.06.2007, 11:01
    #34580197
kobra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
если не трудно, может подскажите как это сделать? или примерчик какой-нибудь.
...
Рейтинг: 0 / 0
07.06.2007, 11:03
    #34580213
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Вручную данные вносятся, вручную. Глазами ищется и ручками вносится. И какой примерчик Вам нужен?
...
Рейтинг: 0 / 0
07.06.2007, 11:10
    #34580265
kobra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
а я вот хочу автоматически при загрузке :)
...
Рейтинг: 0 / 0
07.06.2007, 11:22
    #34580324
%?*?%
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Using the Microsoft Office Document Imaging 2003 Viewer Control

The Microsoft® Office Document Imaging Library 2003 (MODI) object model makes it possible to develop custom applications for managing document images (such as scanned and faxed documents) and the recognizable text that they contain. The MODI components include the MODI Viewer Control, an ActiveX® control that you can use to display MODI documents.

http://msdn2.microsoft.com/en-us/library/aa167614(office.11).aspx
...
Рейтинг: 0 / 0
07.06.2007, 11:40
    #34580408
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Во-во. Надо самому сделать что-то аналогичное Fine Reader. Так что флаг Вам в руки. А вдруг получится? Поделитесь опытом...
...
Рейтинг: 0 / 0
07.06.2007, 11:49
    #34580454
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
2 kobra
Вы так и не ответили - после сканирования у вас текстовый документ или графика?
...
Рейтинг: 0 / 0
07.06.2007, 11:52
    #34580471
Karfaqen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
kobraможет подскажите как это сделать?Допустим, нужное вам наименование находится у вас в первой строке ваших текстовых скан-файлов. Тогда можно сделать простую функцию которая из указанного файла читает и возвращает первую строку (см. Open, Input, Close в справке VBA).

И в некий программный момент, когда у вас есть имя файла, с которым вы устанавливаете связь - например, для текущей записи формы, вы вызываете эту функцию, передавая ей это имя файла, а возвращенное этой функцией значение (искомое наименование) заносите в нужное поле текущей формы.
...
Рейтинг: 0 / 0
07.06.2007, 12:00
    #34580510
kobra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
mds_world
Вы так и не ответили - после сканирования у вас текстовый документ или графика?

формат файла получается графический. из которого надо вытащить текст.
...
Рейтинг: 0 / 0
07.06.2007, 12:08
    #34580535
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Боюсь, что средствами ВБА и Акцесс у вас не получится. Сначала надо превратить графику в распознаваемый текст.
...
Рейтинг: 0 / 0
07.06.2007, 12:11
    #34580545
kobra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
вот, я нашла какую-то прогу RasterID. сейчас сижу смотрю, что с ней можно сделать :)
...
Рейтинг: 0 / 0
07.06.2007, 12:38
    #34580637
proposed amendment
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
kobraвот, я нашла какую-то прогу RasterID.

RaserID одно из лучших решений на рынке и стоит всего 850
...
Рейтинг: 0 / 0
07.06.2007, 14:01
    #34580979
%?*?%
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Не понимаю, в чем проблема написать это через MODI...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub TestText()

  Dim miDoc As MODI.Document
  Dim miLayout As MODI.Layout
  Dim strText As String
  Dim strWord as String

  Set miDoc = New MODI.Document
  miDoc.Create "C:\document1.tif"
  miDoc.Images( 0 ).OCR
  Set miLayout = miDoc.Images( 0 ).Layout
  strText = miLayout.Text
  strWord = miLayout.Words( 0 ).Text
  Debug.Print strWord
  Debug.Print strText

  Set miLayout = Nothing
  Set miDoc = Nothing

End Sub

Сканировать сразу в TIF можно через WIA.
...
Рейтинг: 0 / 0
07.06.2007, 14:05
    #34580994
%?*?%
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Подключить в референсах Microsoft Office Document Imaging 11.0 Type Libriary
...
Рейтинг: 0 / 0
07.06.2007, 14:23
    #34581079
kobra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
%?*?% , а куда это надо вставить ??? :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub TestText()

  Dim miDoc As MODI.Document
  Dim miLayout As MODI.Layout
  Dim strText As String
  Dim strWord as String

  Set miDoc = New MODI.Document
  miDoc.Create "C:\document1.tif"
  miDoc.Images( 0 ).OCR
  Set miLayout = miDoc.Images( 0 ).Layout
  strText = miLayout.Text
  strWord = miLayout.Words( 0 ).Text
  Debug.Print strWord
  Debug.Print strText

  Set miLayout = Nothing
  Set miDoc = Nothing

End Sub
...
Рейтинг: 0 / 0
07.06.2007, 14:32
    #34581116
%?*?%
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
автора куда это надо вставить ???

Смутили прямо-таки, аж покраснел... такие вопросы - в рабочее время...

Куда вам нужно - хотите, чтоб текст из сканированного документа куда-то сохранялся? Сделайте из этого функцию и добавьте в оканчание процедуры сканирования, после сохранения имиджа - получить текст и сохранить в соотвествующее поле, той же записи, где сохраняете путь.
...
Рейтинг: 0 / 0
07.06.2007, 14:41
    #34581155
kobra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
нне хотела вгонять Вас в краску :).
у меня в программе, после выбора файла, пользователь нажимает на кнопку, после чего появляется ссылка на файл:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Private Sub Кнопка2_Click()
On Error Resume Next
Me!f1 = OpenDialogFileName
fdate = Date
ftime = Time
Dim rst As Recordset

Set rst = CurrentDb.OpenRecordset("Doc")

With rst
.AddNew
![Login] = fOSUserName
![FIO] = DLookup("[FIO]", "Login", "[Login] = '" & fOSUserName & "' ")
![Doc] = Me!f1
![DateDoc] = CDate(fdate + ftime)
.Update
End With

rst.Close

MsgBox "Ссылка на документ загружена в программу !"
Me.f1 = Null
End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
   Alias "GetOpenFileNameA" (pOpenFileName As OpehFileName) As Long
Public Function OpenDialogFileName(Optional strStartDir As String) As Variant
Dim d As OpehFileName, Res As Long, S As String, SS As String
Dim I As Byte
Dim a As Integer
d.lpstrInitialDir = strStartDir  ' Здесь твой каталог по умолчанию
d.lpStructSize =  76 
d.nMaxFile =  256 
d.lpstrFile = String( 255 ,  32 )
d.hWndOwner = Application.hWndAccessApp


d.lpstrTitle = "Выбоp файла"
'd.Flags = &H200 Or &H1000 Or &H80000

Res = GetOpenFileName(d)
S = ""
For I =  1  To  255 
 SS = Mid(d.lpstrFile, I,  1 )
 If SS <> Chr( 0 ) Then S = S & SS Else Exit For
Next I
OpenDialogFileName = S
End Function
вот...
Подскажите что и куда :)
я уже просто совсем запуталась
...
Рейтинг: 0 / 0
07.06.2007, 15:05
    #34581278
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Решение, предложенное %?*?%, предполагает сканирование и распознавание документа. Вписывается ли это в вашу технологию? Судя по всему, сканирование у вас осуществляют совершенно иные люди, не те которые впоследствии работают с документами?
Можно, конечно, выделить блок распознавания отдельно после выбора отсканированного документа, но опять таки вопрос - распознавание входит в обязанности человека, который "после выбора файла, пользователь нажимает на кнопку, после чего появляется ссылка на файл"?

Не лучше ли придумать систему именования документов при сканировании, при которой в имени отсканированного имиджа сразу были бы нужные реквизиты? Тогда, при выборе файла, очень легко строку названия превратить в нужный параметр и поместить на форме.
...
Рейтинг: 0 / 0
07.06.2007, 15:08
    #34581295
%?*?%
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Function txtOCR(fName as string) as String

  Dim miDoc As MODI.Document
  Dim miLayout As MODI.Layout
  Dim strText As String
  Dim strWord as String

  Set miDoc = New MODI.Document
  miDoc.Create fName
  miDoc.Images( 0 ).OCR
  Set miLayout = miDoc.Images( 0 ).Layout
  txtOCR = miLayout.Text
  
  Set miLayout = Nothing
  Set miDoc = Nothing

End Function

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Private Sub Кнопка2_Click()
On Error Resume Next
Me!f1 = OpenDialogFileName
fdate = Date
ftime = Time
Dim rst As Recordset

Set rst = CurrentDb.OpenRecordset("Doc")

With rst
.AddNew
![Login] = fOSUserName
![FIO] = DLookup("[FIO]", "Login", "[Login] = '" & fOSUserName & "' ")
![Doc] = Me!f1
![DateDoc] = CDate(fdate + ftime)
![TextDoc] = txtOCR(Me!f1)
.Update
End With

rst.Close

MsgBox "Ссылка на документ загружена в программу !"
Me.f1 = Null
End Sub
...
Рейтинг: 0 / 0
07.06.2007, 15:13
    #34581321
kobra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
1 этап программы (1-ый пользователь). сканирует документ (док.очень много), второй человек, открывает форму, нажимает на кнопку, открывается стандартное окно выбора файла, Ок - и ссылка сохраняется в поле таблицы.
и по существу, лучше бы, конечно, когда этот пользователь проводит эту процедуру, при сохранении ссылки, должны вытаскиваться из док. два заданных поля и вставляться в форму (соотв. и в табличу тоже.)
либо присваивать файлу имя при сканировании состоящим из этих двух полей.
...
Рейтинг: 0 / 0
07.06.2007, 15:20
    #34581356
%?*?%
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
Чтобы в поле TextDoc попалал не весь текст из документа, а только выбранные значения - поигнайтесь с strWord = miLayout.Words(0).Text - Words(0) - вернет первое слово, если документ стандартный и поля стандартные, можно опытным путем подобрать значение Words(x), чтоб в него попадало то, что нужно.
...
Рейтинг: 0 / 0
07.06.2007, 15:25
    #34581375
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сканированный документ
2 kobra
Решение, предлагаемое %?*?%, очень интересное само себе, но потребует от вас немалой работы по выделению и поиску нужного места в файле. А с учетом того, что русский текст далеко не всегда надежно распознается программами OCR, остается вероятность неверной идентификации документа. Если этот момент важен, то полагаться только на распознавание нельзя.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / сканированный документ / 25 сообщений из 162, страница 1 из 7
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]