Получить изображение pdf-страницы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
trash
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 113
Зарегистрирован: 28.01.2009 (Ср) 12:09

Получить изображение pdf-страницы

Сообщение trash » 04.02.2009 (Ср) 14:41

В Acrobat SDK накопал пример, который рисует определенную страницу в указанном окне:
Код: Выделить всё
Private Sub Form_Paint()
    Dim acroRect As CAcroRect
    Set AcroExchPDPage = AcroExchPDDoc(Me.Tag).AcquirePage(FState(Me.Tag).nPage)
    Set acroRect = CreateObject("AcroExch.Rect")
    acroRect.Top = 792
    acroRect.Bottom = 0
    acroRect.Left = 0
    acroRect.Right = 612
    ok = AcroExchPDPage.DrawEx(Me.hWnd, 0, acroRect, 0, 0, FState(Me.Tag).nScale)
    Set AcroExchPDPage = Nothing
End Sub
Однако форма кагбэ ничего не знает об этом — перерисовка Me.Image в другое место перерисовывает белый фон. Сохранение StdPicture в массив (bmp) сохраняет его же. Установка AutoRedraw = True и насильный вызов Form_Paint тоже продуцируют рисунок, но он стирается при заслонении формы другим окном, а так же при любом обращении к Form.Image. Еще наблюдение: сабклассинг формы говорит, что в момент выполнения AcroExchPDPage.DrawEx не происходит ровным счетом ничего.

Как же все-таки вытащить рисунок, который демонстрирует такое неадекватное поведение?

Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 62

    TopList  
cron