humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | лог изменений

Обновлено в августе 2026. · Руководство humanemulator.net

PDF: сайт → файл → текст

Теги: RPA PDF файлы

Два входа: напечатать текущую страницу или взять готовый файл (кнопка «Скачать», вложение письма, экспорт из Word). Дальше объект pdffile.

1Источникстраница или файл
2Страницыcount / read
3Сборкаcombine / split
4Скан?OCR

Откуда берётся файл

Текущая страница браузера. webpage→print_to_pdf($filepath) — с 6.0.41. Сначала дождитесь контента, иначе в PDF уедет пустой каркас SPA.

$input->wait_element_exist_by_inner_text("Итого");
$webpage->print_to_pdf("C:\\bots\\out\\page.pdf");

Кнопка «Скачать» на сайте. Это не print_to_pdf, а загрузка: wait_download_and_get_file_path.

Вложение письма. IMAP save attachments.

Из Word. export_pages / convert.

Перед разбором: is_pdf_file — отсечь HTML, который сайт отдал с расширением .pdf.

Текст страниц

  1. get_page_count / get_info
  2. read_page($path, $page)номер с нуля (с 7.0.56)
  3. Весь текст: read
  4. Найти страницу по фрагменту: get_page_number_by_text
  5. Ссылки: get_links_count, get_all_links, get_link_by_number
$n = $pdffile->get_page_count("C:\\data\\act.pdf");
$text0 = $pdffile->read_page("C:\\data\\act.pdf", 0);
$all = $pdffile->read("C:\\data\\act.pdf");

Пустой read_page при ненулевом числе страниц — часто скан без текстового слоя. Тогда не парсите regex по пустой строке, идите в картинки/OCR.

ОбъектПервая страница
pdffile read_page0
word export_pages1

Смешаете индексы — либо промахнётесь мимо страницы, либо получите пусто. Сверяйте хаб метода, не «как в прошлом скрипте».

Склеить и разрезать

combine($outpath, $inpaths, $is_compressed=false) — массив путей в один файл (с 7.0.57). Сжатие — третий аргумент.

$pdffile->combine(
  "C:\\bots\\out\\pack.pdf",
  array("C:\\bots\\in\\a.pdf", "C:\\bots\\in\\b.pdf"),
  true
);

split($path, $to_folder, $pages_per_file=1, $timeout=6000) — страницы в отдельные файлы. Печать: print_pages. Запись: write.

Картинки внутри PDF

Извлечённые PNG отдайте в Tesseract, если текстового слоя нет.

Если текста нет

Скан «как фото». read пустой — это не баг pdffile. Цепочка: extract_images → OCR или FineReader. Не запускайте regex «сумма:» по пустой строке в цикле на 200 файлах — только сожжёте ночь расписания.

Альтернатива картинкам страниц: print_pages — страницы как отдельные файлы-картинки, затем OCR по каждому PNG.

Пачка: скачать → проверить → склеить

$browser->set_default_download("C:\\bots\\in");
$browser->disable_download_file_dialog();
$anchor->click_by_inner_text("Скачать PDF");
$path = $browser->wait_download_and_get_file_path(120);
if (!$pdffile->is_pdf_file($path)) {
  echo "это не PDF";
}
$n = $pdffile->get_page_count($path);
$text = $pdffile->read_page($path, 0);
$pdffile->combine("C:\\bots\\out\\pack.pdf", array($path, "C:\\bots\\in\\stamp.pdf"), true);

Скачивание — гайд файлов. Не вызывайте combine, пока wait_download не вернул путь: иначе в массив попадёт пустая строка и метод вернёт false.

FAQ

Не та страница. Индексация с нуля: первая — 0, последняя — count-1.

combine false. Один из путей не PDF, файл залочен, нет прав на outpath. Проверьте is_pdf_file по каждому входу.

Огромный таймаут split. Параметр timeout у split; тяжёлые сканы режьте по одному файлу.

print_to_pdf пустой. SPA ещё не отрисовалась. Сначала wait ключевого текста, потом печать. Это не баг pdffile — в файл уехал каркас страницы.

read_page(1) при одной странице. Индексация с нуля: единственная страница — 0. Для Word export_pages счёт с 1 — не путайте объекты.

Поиск: pdffile.

Все руководства