Мне нужно разработать инструмент, который принимает в качестве входных данных файл PDF и массив строк и возвращает номер страницы, где была найдена строка "x".
На данный момент мне удалось найтистрока в pdf, но я не могу найти способ вернуть номер страницы, где он расположен
Sub SearchStringInPDF(searchString As String)
Dim PDF_path As String
Dim PathName As String
Dim pdfName As String
Dim waitTime As Date
PathName = [Path_name]
pdfName = [pdf_name]
If PathName = vbNullString Then
FullPath = ThisWorkbook.Path & "\" & pdfName
Else
If Right(PathName, 1) <> "\" Then PathName = PathName & "\"
PDF_path = PathName & pdfName
End If
Application.DisplayAlerts = False
'Open the pdf file
ThisWorkbook.FollowHyperlink PDF_path
'Wait time for a couple of seconds for the PDF file to fully load
waitTime = Now
'Send "CTRL + F" keys to the opened PDF to invoke find within that file
'The second argument "true" implies that Excel will wait for the keys to be processed
'before returning control to the macro.
SendKeys "^f", True
'Type the search string in the find box that opens
SendKeys searchString, True
'Hit enter to perform the s
SendKeys "{Enter}", True
Application.DisplayAlerts = True
End Sub
ПРИМЕР: для этого pdf файл и эти строки ["acrobat дистиллятор", "избежать дезориентации", "CERN"]
ожидаемый результат должен быть:
[страница 1, страница 3, страница 2]