Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 и снова PDF...  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1025
Уважаемый коллективный разум,

Несмотря на трехдневное чтение результатов поиска по "PDF" на форуме, так и не нашел ответа на вопросы:
1. как открыть PDF документ из VBA (Access)? Этот вопрос на форуме очень невразумительно, как результат - ничего не работает.
2. как считать данные из открытого PDF через VBA (Access)?
На компе проинсталлены и Acrobat 8.0 и Acrobat Reader.

За любую помощь буду очень признателен!
11 мар 09, 14:06    [6910964]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4911
Открыть то просто , смотри сюда Открыть документ в родном приложении А вот всё остальное ...
11 мар 09, 14:17    [6911081]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1025
Да уж, все остальное меня как раз и интересует больше всего. Открыть - такое дело, но мне нужно открыть для дальнейшей выборки инфы из PDF-документа
11 мар 09, 15:01    [6911456]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
LeonM
Member

Откуда: Bayern, Deutschland
Сообщений: 598
Подключите к проекту библиотеку Adobe Acrobat Browser,
вставьте на форму элемент AcroPDF,
LoadFile - открыть
'method LoadFile
'method setShowToolbar
'method gotoFirstPage
'method gotoLastPage
'method gotoNextPage
'method gotoPreviousPage
'method setCurrentPage
'method goForwardStack
'method goBackwardStack
'method setPageMode
'method setLayoutMode
'method setNamedDest
'method Print
'method printWithDialog
'method setZoom
'method setZoomScroll
'method setView
'method setViewScroll
'method setViewRect
'method printPages
'method printPagesFit
'method printAll
'method printAllFit
'method setShowScrollbars
'method GetVersions
'method setCurrentHightlight
'method setCurrentHighlight
'method postMesage
'property messageHandler
'property src
- не использовал.
11 мар 09, 15:10    [6911545]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
Quiet333
Member

Откуда: 55-37 сш 37-37 вд
Сообщений: 1020
Я, конечно дико извиняюсь, но раньше считал, что выборку надо делать ДО вывода в PDF...
11 мар 09, 15:14    [6911587]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1025
Спасибо, LeonM. Может еще и название библиотеки в списке референций подскажешь? Я подключал, все что нашел относительно Акробата - эффект нулевой. Правда, я пытался получить доступ к объекту Акробата напрямую через ВБА - открыть файл PDF.

333: мне нужно считать данные ИЗ PDF файла В Access (в таблицу, например), а не вывести отчет из Access В PDF файл.
11 мар 09, 15:57    [6912005]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
LeonM
Member

Откуда: Bayern, Deutschland
Сообщений: 598
Тогда - FineReader или что-то подобное
11 мар 09, 16:16    [6912156]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1025
А напрямую никак? FineReader надо покупать, инсталлировать, настраивать, короче - овчинка выделки не стоит.

Почему нельзя работать с Акробатом, через объектную переменную, например, как с Аутлуком или Экселем? Акробат (не ридер, а полный пакет) должен открывать PDF-файлы и давать возможность вносить изменения, следовательно, должен иметь возможность считать инфу из PDF-файла. Есть идеи?
11 мар 09, 16:39    [6912381]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
%%
Guest
Изучайте первоисточники
11 мар 09, 16:47    [6912466]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1025
И что именно там изучать? JavaScript? Или я чего-то не понимаю, или меня не понимают: мне не нужно применение Явы для обработки PDF. Мне нужна работа с PDF из VBA, а именно открыть файл в формате PDF и считать из него инфу.
13 мар 09, 14:06    [6923070]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
aleks2
Guest
IFK
И что именно там изучать? JavaScript? Или я чего-то не понимаю, или меня не понимают: мне не нужно применение Явы для обработки PDF. Мне нужна работа с PDF из VBA, а именно открыть файл в формате PDF и считать из него инфу.


PDF - закрытый формат => Открывай из VBA файл Acrobat-ом и через OLE Automation добывай оттуда все чо надо.
13 мар 09, 14:27    [6923316]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
aleks2
Guest
Это пример для Reader... ну да ты уж сам.
Option Compare Database
Option Explicit

Private prAcrobat As Object 'Acrobat.Application
Private prAcrobatDoc As Object
Private prNoAcrobatMsgIsShown As Boolean

Function GetAcrobat() As Object
    If prAcrobat Is Nothing Then
        Set prAcrobat = CreateObject("AcroExch.App")
        prAcrobat.Show
    End If
    Set GetAcrobat = prAcrobat
    If (prAcrobat Is Nothing) And Not prNoAcrobatMsgIsShown Then
      prNoAcrobatMsgIsShown = True
      MsgBox "Acrobat Reader не установлен на данной машине. Просмотр и печать файлов в формате PDF невозможны. Установите Acrobat Reader!", vbCritical
    End If
End Function

Function GetAcrobatDoc() As Object
    If prAcrobat Is Nothing Then GetAcrobat
    If prAcrobatDoc Is Nothing Then
        Set prAcrobatDoc = CreateObject("AcroExch.AVDoc")
        prAcrobatDoc.BringToFront
    End If
    Set GetAcrobatDoc = prAcrobatDoc
    If (GetAcrobatDoc Is Nothing) And Not prNoAcrobatMsgIsShown Then
      prNoAcrobatMsgIsShown = True
      MsgBox "Не могу создать документ PDF. Просмотр и печать файлов в формате PDF невозможны!", vbCritical
    End If
End Function

Public Sub ResetAcrobat()
    If Not prAcrobatDoc Is Nothing Then
      On Error Resume Next
      prAcrobatDoc.Close True
      Set prAcrobatDoc = Nothing
    End If
    If Not prAcrobat Is Nothing Then
      On Error Resume Next
      prAcrobat.CloseAllDocs
      prAcrobat.Exit
      Set prAcrobat = Nothing
    End If
End Sub

Public Sub ShowViaAcrobat(aFile As String)
  Dim Acrobat As Object
  Dim AcrobatDoc As Object
'  Dim Acrobat As Acrobat.CAcroApp
  Set Acrobat = GetAcrobat()
  Set AcrobatDoc = GetAcrobatDoc()
  If AcrobatDoc Is Nothing Then Exit Sub
  On Error GoTo ErrorOpen
  If AcrobatDoc.IsValid Then AcrobatDoc.Close True
  DoEvents
  AcrobatDoc.Open aFile, aFile
  DoEvents
  Acrobat.Show
  DoEvents
  Acrobat.Restore 1
  DoEvents
Exit Sub
ErrorOpen:
  On Error Resume Next
  ResetAcrobat
End Sub

Public Function PrintViaAcrobat(aFile As String, Optional ShowWindow As Boolean = True) As Boolean
  Dim Acrobat As Object
  Dim AcrobatDoc As Object
  Dim pn As Long
  
  Set Acrobat = GetAcrobat()
  Set AcrobatDoc = GetAcrobatDoc()
  If AcrobatDoc Is Nothing Then Exit Function
  On Error GoTo ErrorOpen
  If AcrobatDoc.IsValid Then AcrobatDoc.Close True
  DoEvents
  AcrobatDoc.Open aFile, aFile
  DoEvents
  If ShowWindow Then
    Acrobat.Show
    DoEvents
    Acrobat.Restore 1
    DoEvents
    AcrobatDoc.BringToFront
    DoEvents
  End If
  pn = AcrobatDoc.GetPDDoc.GetNumPages
  DoEvents
  PrintViaAcrobat = AcrobatDoc.PrintPages(0, pn - 1, 0, 1, 1)
  DoEvents
Exit Function
ErrorOpen:
  On Error Resume Next
  ResetAcrobat
End Function

13 мар 09, 14:31    [6923366]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1025
Спасибо большое! Что-то в этом духе накопал в инете, ОЛЕ для работы с Акробатом. Еще вопрос, если позволите: какие библиотеки должны быть подвязаны в референс для работы с акробатом. Я подвязываю Adobe Acrobat 8.0 Type Library, Adobe Acrobat 7.0 Browser Control Type Library 1.0 и Acrobat Access 3.0 Type Library, но эффекта нет: дебаггер ругается на
CreateObject("AcroExch.App"), ошибка 429, не могу создать объект. А как же его создать еще?
17 мар 09, 12:26    [6937004]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
aleks2
Guest
Это пример с поздним связыванием - ему не нужны referencies. Нужон установленный Acrobat/Acrobat Reader.
17 мар 09, 18:39    [6940096]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1025
Есть и Акробат Ридер и полный пакет. Все установлено и работает, а вот ошибка генерится. В чем может быть трабла?
18 мар 09, 12:30    [6942724]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
aleks2
Guest
IFK
Есть и Акробат Ридер и полный пакет. Все установлено и работает, а вот ошибка генерится. В чем может быть трабла?

Не знаю. Текст ошибки при выполнении
Set prAcrobat = CreateObject("AcroExch.App")
может приведете?
У меня работает на нескольких машинах без проблем.
18 мар 09, 13:38    [6943260]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1025
Приводил уже: 429 ошибка. Я понимаю, что ее можно отслеживать, но это имеет смысл при проверке, открыто ли уже это приложение, через GetObject. А прога матерится именно на попытку создать объект. Вот это меня и сбивает с толку совсем... :(
18 мар 09, 18:31    [6945508]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: и снова PDF...  [new]
Djippo
Member

Откуда:
Сообщений: 15
У меня та же проблема. Скажите удалось решить в итоге? Заранее спасибо!
27 май 19, 12:20    [21894629]     Ответить | Цитировать Сообщить модератору
 Re: и снова PDF...  [new]
ArtemN
Member

Откуда:
Сообщений: 1
IFK,
подскажите нашли ли решение?
27 сен 19, 13:01    [21980799]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить