чтение PDF файлов

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

WitC
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.06.2008 (Чт) 16:45

чтение PDF файлов

Сообщение WitC » 23.09.2008 (Вт) 16:55

Доброго времени!Стоит задача - чтение PDF файла, и вытягивание определенных строк (или всего документа, стрницы) и передача в Excel...
нашел такой код (открывает файл и ищет там образец - возвращает TRUE/FALSE):
в Reference подключить на вкладке COM библиатеку Adobe Acrobat 8.0 Type Libraty ...
Код: Выделить всё
Imports Acrobat


Dim gApp As AcroApp
        Dim gPDDoc As AcroAVDoc
        Dim FindOk As Boolean
        Dim c As String
        FindOk = False
        gApp = CreateObject("AcroExch.App")
        gPDDoc = CreateObject("AcroExch.AVDoc")
        c = Application.StartupPath & "\1.pdf" 'путь к PDF
        If gPDDoc.Open(c, "") Then
            FindOk = gPDDoc.FindText("Что-то ищем!", 10, 0, 0)
            gApp.Show()
        End If
        gApp = Nothing
        gPDDoc = Nothing

а надо загнать в переменную весь документ (содержащийся в pdf текст) и потом выбранное, из переменной, передать в Excel.
Есть описание функций Acrobat Library для VB??? Может кто примерчик подкинет, буду благодарен...
Вот функции PDF для PHP: http://program.rin.ru/razdel/html/464.html
Вот бы такие же для VB...

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: чтение PDF файлов

Сообщение Nord777 » 23.09.2008 (Вт) 18:27

Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: чтение PDF файлов

Сообщение Williams » 23.09.2008 (Вт) 23:12

WitC писал(а):Вот функции PDF для PHP: http://program.rin.ru/razdel/html/464.html
Вот бы такие же для VB...

Имхо, если это com-библиотека, то нет разницы VB это или что-либо еще. Нужна общая документация, как указано в предидущем сообщении
И вы думаете, что вас оставят в живых после прочтения этого поста?

WitC
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.06.2008 (Чт) 16:45

Re: чтение PDF файлов

Сообщение WitC » 24.09.2008 (Ср) 8:50

Спасибо за оперативность, и за ссылочку, буду разбираться!!!

WitC
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.06.2008 (Чт) 16:45

Re: чтение PDF файлов

Сообщение WitC » 25.09.2008 (Чт) 16:59

Всем привет!
вот, выкладываю не много корявый, код чтения *.pdf файла (только не картинки). желательно увидеть альтернативу и комменты...
Всем, еще раз, спасибо (особенно откликнувшимся).
Код: Выделить всё
Private Function funcReadPDF(ByVal strPathPDF As String) As String
        On Error GoTo l1
        Dim pdDoc As AcroPDDoc = New AcroPDDoc
        Dim pdTekstSel As AcroPDTextSelect
        Dim pdPage As AcroPDPage
        Dim HList As AcroHiliteList = New AcroHiliteList
        Dim i%, j%
        If Not (pdDoc.Open(strPathPDF)) Then GoTo l1
        For i = 0 To pdDoc.GetNumPages - 1
            pdPage = pdDoc.AcquirePage(i)
            HList.Add(0, 10000) ' не красивый момент (не знаю как забить страничку целеком)
            pdTekstSel = pdPage.CreateWordHilite(HList)
            If Not (pdTekstSel Is Nothing) Then
                For j = 0 To pdTekstSel.GetNumText - 1
                    funcReadPDF = funcReadPDF & pdTekstSel.GetText(j)
                Next
            Else
                GoTo l1
            End If
        Next
        pdDoc = Nothing
        HList = Nothing
        Return funcReadPDF
        Exit Function
l1:
        MsgBox("Не удалось импортировать документ! Возможно документ не соответствует параметрам импорта!" & vbCrLf & Err.Description, MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly, "Внимание!") ' или глобальный обработчик
    End Function
Вложения
Release.rar
Resume
(15.59 Кб) Скачиваний: 223

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: чтение PDF файлов

Сообщение Williams » 26.09.2008 (Пт) 2:31

Эээм, сначала подумал не в тот раздел пост. On Error и GoTo это что-то из другого века. Используй Try Catch Finally для обработки ошибок, а GoTo вообще не должно быть, т.к. все ветвления легко реализуются при помощи нормальных операторов.
И вы думаете, что вас оставят в живых после прочтения этого поста?

WitC
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.06.2008 (Чт) 16:45

Re: чтение PDF файлов

Сообщение WitC » 26.09.2008 (Пт) 8:33

Williams писал(а): On Error и GoTo это что-то из другого века.

согласен, только мне нравится такой подход (On Error Resume ...). Может я еще не понял всех прелестей Try ... . GoTo, правда, действительно не из этой оперы... Вообще я недавно на VB.NET, вот и интересуюсь....
Еще, касаясь выложенной программы, для ее успешной работы в системе должен быть установлен Adobe Acrobat Professional (не Reader).

trash
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 113
Зарегистрирован: 28.01.2009 (Ср) 12:09

Re: чтение PDF файлов

Сообщение trash » 03.02.2009 (Вт) 16:50

Интересует аналогичный вопрос — нужно извлечь из pdf картинки. А так же представить текстовую страницу как картинку.
Вопрос к автору: объектная модель Acrobat Professional это позволяет? У меня его нет, чтобы проверить.

WitC
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.06.2008 (Чт) 16:45

Re: чтение PDF файлов

Сообщение WitC » 08.02.2009 (Вс) 14:23

Доброго времени, trash!
После завершения проекта, пока к вопросу PDF не возвращался.
Копировать и текст, и рисунки, и текст в графическом формате, уверен что можно.
В Acrobat Reader 9 есть функция Snapshot Tool. Данная функция копирует выделенную область в буфер, в виде графики.
Уверен, если получить доступ к этой функции в Acrobat Pro, то останется только задать область копирования (по X и Y), и вывести содержимое буфера на печать (можно с помощью ф-ий того же PDF)...
Думаю, многим будет полезно увидеть ваше решение и комментарии в данном вопросе...
Желаю успехов.

trash
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 113
Зарегистрирован: 28.01.2009 (Ср) 12:09

Re: чтение PDF файлов

Сообщение trash » 11.02.2009 (Ср) 12:27

Спасибо за ответ.
Некоторых результатов я добился, но метод копирования изображения в буфер копирует белый лист. Акробат у меня шестой.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

    TopList