Извлечение изображений из PDF с использованием VBA - PullRequest
1 голос
/ 16 февраля 2020

Я пытаюсь извлечь изображения из PDF в Excel VBA. Я могу извлечь всю текстовую страницу за страницей без проблем (код ниже). Я искал пример кода или объяснение того, как извлечь изображения, но единственный пример кода, который я нашел, не работал. Кто-нибудь знает, как извлечь изображения одно за другим из PDF-файла и сохранить каждое изображение в папку (которая будет указана в коде VBA), используя только VBA (без какого-либо стороннего программного обеспечения)? Буду признателен за любую информацию.

Код, который я использую для извлечения текста из PDF:

Sub GetText()
    Dim aApp As Acrobat.AcroApp
    Dim av_doc As AcroAVDoc
    Dim pdf_doc As AcroPDDoc
    Dim sel_text As AcroPDTextSelect
    Dim X, Y As Long ' define X as variant and Y as a Long
    Dim pageNumber, pageContent, content

    Set aApp = CreateObject("AcroExch.App")
    Set av_doc = CreateObject("AcroExch.AVDoc")

    If av_doc.Open("C:\VBA\PDF\Pages.pdf", vbNull) <> True Then Stop

    Set av_doc = aApp.GetActiveDoc
    Set pdf_doc = av_doc.GetPDDoc

    ' Iterate through the document page by page
    For X = 0 To pdf_doc.GetNumPages - 1
        Set pageNumber = pdf_doc.AcquirePage(X)
        Set pageContent = CreateObject("AcroExch.Hilitelist")
        On Error Resume Next

        If pageContent.Add(0, 9000) <> True Then Stop

        Set sel_text = pageNumber.CreatePageHilite(pageContent)
        On Error GoTo 0

        ' Iterate through page word by word
        For Y = 0 To sel_text.GetNumText - 1
            ' Display each word in a cell on spreadsheet
            Cells(Y + 1, X + 1) = sel_text.GetText(Y)
        Next Y
    Next X

    'Close and Release
    av_doc.Close False
    aApp.Exit

    Set sel_text = Nothing
    Set pdf_doc = Nothing
    Set av_doc = Nothing
    Set pageNumber = Nothing
End Sub

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