help::HelpPdfWorker

Background IBatchWorker that renders multi-page help PDFs.

Declared in src/libs/libhelp/help/HelpPdfWorker.hpp
Inherits QObject and batch::IBatchWorker

Detailed description

Submitted as job type "help/pdf-export" with this payload in job.data:

  • rootTitle (QString) — section title used on the cover and as the PDF metadata title.
  • bodyFontPt (int) — body font size for the rendered text.
  • exportDate (QString) — the ISO date the cover shows. It is the submitter's, so the same job gives the same text on any node.
  • pages (QVariantList) — ordered list of QVariantMap{ path, title, depth } entries. Each path is relative to :/help/.

The worker is Pooled (BO-05 … BO-08 in the batch-orchestration parity matrix): libbatch owns the thread, and this body runs on it. Progress and logs go through JobContext, which marshals them home from any thread, and the final state is a JobOutcome the dispatcher applies.

On success the PDF is published by its content hash (JobContext::publish): job.result["outputs"] holds one name, hash, size entry named OUTPUT_NAME, and job.result["values"]["pages"] the number of pages rendered. The job names no path of this machine, in its data or in its result, so it keeps the Portable properties (§BOC-6, audit QL-433). The submitter writes the PDF where the user wants it, from the node's artifact store.

In this section