code: def run_hocr_pipeline(
      options: argparse.Namespace,
      *,
      plugin_manager: OcrmypdfPluginManager,
  ) -> None:
      """Run pipeline to output hOCR."""
      with manage_work_folder(
          work_folder=options.output_folder,
          retain=True,
          print_location=False,
      ) as work_folder:
          executor = setup_pipeline(options, plugin_manager)
          shutil.copy2(options.input_file, work_folder / "origin.pdf")
  
          # Gather pdfinfo and create context
          pdfinfo = get_pdfinfo(
              options.input_file,
              executor=executor,
              detailed_analysis=options.redo_ocr,
              progbar=options.progress_bar,
              max_workers=options.jobs,
              use_threads=options.use_threads,
              check_pages=options.pages,
          )
          context = PdfContext(
              options,
              work_folder,
              options.input_file,
              pdfinfo,
              plugin_manager,
          )
          # Validate options are okay for this pdf
          set_lossless_reconstruction(options)
          validate_pdfinfo_options(context)
          exec_pdf_to_hocr(context, executor)
  
file_path: OCRmyPDF/src/ocrmypdf/_pipelines/pdf_to_hocr.py
imports: from __future__ import annotations
  import argparse
  import logging
  import logging.handlers
  import shutil
  from functools import partial
  import PIL
  from ocrmypdf._concurrent import Executor
  from ocrmypdf._jobcontext import PageContext, PdfContext
  from ocrmypdf._pipeline import get_pdfinfo, is_ocr_required, ocr_engine_hocr, validate_pdfinfo_options
  from ocrmypdf._pipelines._common import HOCRResult, manage_work_folder, process_page, set_thread_pageno, setup_pipeline, worker_init
  from ocrmypdf._plugin_manager import OcrmypdfPluginManager
  from ocrmypdf._validation import set_lossless_reconstruction
label_desc: Use image node_id 3 for calling a global function with example usage: run_hocr_pipeline(options) without return types