Поиск слова в PDF - PullRequest
       5

Поиск слова в PDF

0 голосов
/ 27 марта 2019

Я хотел бы найти какое-нибудь слово после конвертации PDF.

1) У меня есть 2 PDF по пути C: \ TRM \ PDF 1.pdf и 2.pdf

  • 1.pdf имеет слово "ICG00058"
  • 2.pdf имеет слово "ICG00065"

2) Конвертировать PDF в Txt уже в $ {detail_1}.

3) Предположим, я не знаю слова в 1.pdf и хочу проверить это 1.pdf имеет ICG00058 или ICG00065.

Извините, если вопрос не ясен. Пожалуйста, изучите эту проблему для меня, потому что она имеет первостепенное значение для моей работы.

*** Settings ***
Library         Selenium2Library
Library         String
Library         Pdf2TextLibrary


*** Test Cases ***
Read PDF

    ${detail_1}     Convert Pdf To Txt              C:\\TRM\\PDF\\1.pdf
    LOG     ${detail_1} 
    ${ID_1}     Get Regexp Matches        ${detail_1}          ICG00058
    ${ID_2}     Get Regexp Matches        ${detail_1}          ICG00065
 Run Keyword And Ignore Error          $ID_1[0] in $detail_1      LOG   ${ID_1}
 Run Keyword If                        $ID_2[0] in $detail_1      LOG   ${ID_2}

ОШИБКА: Не удалось оценить выражение «RF_VAR_ID_2 [0] в RF_VAR_detail_2»: IndexError: список индексов вне диапазона

Ответы [ 2 ]

0 голосов
/ 27 марта 2019

Я использовал pdfgrep точно так же, как grep, вы можете искать regex выражения в pdf без каких-либо промежуточных шагов.

Я использовал его для поиска номеров ISBN в PDF-файлах и автоматического переименования имени файла, чтобы включить найденные номера ISBN, или для записи имени файла и номера ISBN в базу данных MySQL.

Если вы не знаете, как писать regex, есть некоторые онлайн-инструменты для тестирования regex онлайн, пока вы не найдете подходящий для использования.

0 голосов
/ 27 марта 2019

Вам нужно вызвать ключевое слово Evaluate , если вы хотите запустить python в своем скрипте робота, поэтому вы видите ошибку, которую вы упомянули.

В вашем случае вы можете использовать Получить индекс из списка и Список должен содержать значение ключевые слова:

${matched_id_1}=    Get Index From List     ${ID_1}     0
Run Keyword And Ignore Error    List Should Contain Value    ${detail_1}    ${matched_id_1}

${matched_id_2}=    Get Index From List     ${ID_2}     0
Run Keyword And Ignore Error    List Should Contain Value    ${detail_1}    ${matched_id_2}

Если вы хотите использовать List Should Contain Value ключевые слова в качестве утверждений, просто удалите Выполнить ключевое слово и игнорировать ошибку ключевые слова в ответе

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