From 8cd66fb9378e6b8fdd62b2154d556247ba1069b4 Mon Sep 17 00:00:00 2001 From: PAUL01zjb Date: Tue, 11 Aug 2026 07:06:00 +0000 Subject: [PATCH 1/6] docs: add broker reports batch processing example Add a convert -> export -> audit example that batch-processes Chinese PDF broker reports to Markdown with referenced figures, and list it in the examples index. Signed-off-by: PAUL01zjb --- docs/examples/index.md | 2 + docs/examples/process_broker_reports.py | 102 ++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 docs/examples/process_broker_reports.py diff --git a/docs/examples/index.md b/docs/examples/index.md index 5a33437bde..aa1de6ec32 100644 --- a/docs/examples/index.md +++ b/docs/examples/index.md @@ -5,6 +5,8 @@ Here some of our picks to get you started: - 🔀 conversion examples ranging from [simple conversion to Markdown](./minimal.py) and export of [figures](./export_figures.py) & [tables](./export_tables.py), to [VLM](./minimal_vlm_pipeline.py) and [audio](./minimal_asr_pipeline.py) pipelines, as well as specialized formats like [XBRL](./xbrl_conversion.ipynb) - 💬 various RAG examples, e.g. based on [LangChain](./rag_langchain.ipynb), [LlamaIndex](./rag_llamaindex.ipynb), or [Haystack](./rag_haystack.ipynb), including [visual grounding](./visual_grounding.ipynb), and using different vector stores like [Milvus](./rag_milvus.ipynb), [Weaviate](./rag_weaviate.ipynb), or [Qdrant](./retrieval_qdrant.ipynb) - 📤 [{==\[:fontawesome-solid-flask:{ title="beta feature" } beta\]==} structured data extraction](./extraction.ipynb) +- 📈 [batch-processing broker research reports](./process_broker_reports.py) — a production-oriented + convert → export → audit loop (Markdown with referenced figures) for report knowledge bases - examples for ✍️ [serialization](./serialization.ipynb) and ✂️ [chunking](./hybrid_chunking.ipynb), including [user-defined customizations](./advanced_chunking_and_serialization.ipynb) - 🖼️ [picture annotations](./pictures_description.ipynb), [remote picture annotations](./pictures_description_api.py), [API usage capture](./picture_description_api_usage.py), and [enrichments](./enrich_doclingdocument.py) diff --git a/docs/examples/process_broker_reports.py b/docs/examples/process_broker_reports.py new file mode 100644 index 0000000000..a83fd9aaa3 --- /dev/null +++ b/docs/examples/process_broker_reports.py @@ -0,0 +1,102 @@ +# %% [markdown] +# Process a batch of broker research reports (Chinese PDFs) and export rich outputs. +# +# What this example does +# - Converts every PDF in an input directory with Docling's standard pipeline. +# - Exports one Markdown file per report with tables and referenced figures. +# - Prints a per-file summary (pages / tables / pictures) for quick QA. +# +# Why this matters +# - Broker reports mix dense tables, figures and footnotes; this recipe shows the +# minimal production loop: convert -> export -> audit, which is the backbone of +# research-report knowledge bases. +# +# How to run +# - From the repo root: `python docs/examples/process_broker_reports.py`. +# - Input: pass a directory via `--input` (default: the example data folder). +# - Outputs are written to `scratch/broker_reports/`. +# +# Key options +# - `ImageRefMode.REFERENCED` keeps the Markdown small and images on disk. +# - `PdfPipelineOptions` enable picture/table structures used in the summary. + +# %% + +import argparse +import logging +from pathlib import Path + +from docling_core.types.doc import ImageRefMode + +from docling.datamodel.base_models import InputFormat +from docling.datamodel.pipeline_options import PdfPipelineOptions +from docling.document_converter import DocumentConverter, PdfFormatOption + +_log = logging.getLogger(__name__) + + +def build_converter() -> DocumentConverter: + """Converter with picture and table structure enabled for report QA.""" + pipeline_options = PdfPipelineOptions() + pipeline_options.generate_picture_images = True + pipeline_options.generate_table_structure = True + return DocumentConverter( + format_options={ + InputFormat.PDF: PdfFormatOption(pipeline_options=pipeline_options), + } + ) + + +def export_report(converter: DocumentConverter, pdf_path: Path, out_dir: Path) -> dict: + """Convert one report and export Markdown with referenced images.""" + result = converter.convert(pdf_path) + doc = result.document + report = { + "file": pdf_path.name, + "pages": len(doc.pages), + "tables": len(doc.tables), + "pictures": len(doc.pictures), + } + if doc.tables or doc.pictures: + out_dir.mkdir(parents=True, exist_ok=True) + md_path = out_dir / f"{pdf_path.stem}.md" + try: + doc.save_as_markdown( + filename=md_path, + artifacts_dir=out_dir / "images", + image_mode=ImageRefMode.REFERENCED, + ) + except TypeError: + # Older docling-core: fall back to plain Markdown export. + md_path.write_text(doc.export_to_markdown(), encoding="utf-8") + return report + + +def main() -> None: + parser = argparse.ArgumentParser(description="Batch-process broker research reports.") + parser.add_argument( + "--input", + type=Path, + default=Path("docs/examples/data"), + help="Directory containing report PDFs.", + ) + args = parser.parse_args() + + out_dir = Path("scratch/broker_reports") + converter = build_converter() + reports = [] + for pdf_path in sorted(args.input.glob("*.pdf")): + reports.append(export_report(converter, pdf_path, out_dir)) + _log.info("converted %s", pdf_path.name) + + print(f"\nProcessed {len(reports)} report(s) -> {out_dir}") + for report in reports: + print( + f" {report['file']}: {report['pages']} pages, " + f"{report['tables']} tables, {report['pictures']} pictures" + ) + + +if __name__ == "__main__": + logging.basicConfig(level=logging.INFO) + main() From 1408bcf178d95adbf0995d566da79c636e339f5c Mon Sep 17 00:00:00 2001 From: PAUL01zjb Date: Tue, 11 Aug 2026 07:55:18 +0000 Subject: [PATCH 2/6] docs: make broker reports example extract metrics and chart Add a bundled sample broker report (synthetic, Chinese) and extend the example to extract key financial metrics from report tables into JSON, render an optional revenue/net-profit chart, and audit per-file results. Signed-off-by: PAUL01zjb --- docs/examples/data/broker_report_sample.pdf | Bin 0 -> 121509 bytes docs/examples/index.md | 4 +- docs/examples/process_broker_reports.py | 189 +++++++++++++++++--- 3 files changed, 163 insertions(+), 30 deletions(-) create mode 100644 docs/examples/data/broker_report_sample.pdf diff --git a/docs/examples/data/broker_report_sample.pdf b/docs/examples/data/broker_report_sample.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2aaaf291f88b25cff713e2a630f33bf8fe0dfd60 GIT binary patch literal 121509 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

cGrn{JL)^ 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 b?z|7+4?;Ue&mTt;yb(u{iA<(5mJ|O40iXTH literal 0 HcmV?d00001 diff --git a/docs/examples/index.md b/docs/examples/index.md index aa1de6ec32..9ae920e2dc 100644 --- a/docs/examples/index.md +++ b/docs/examples/index.md @@ -5,8 +5,8 @@ Here some of our picks to get you started: - 🔀 conversion examples ranging from [simple conversion to Markdown](./minimal.py) and export of [figures](./export_figures.py) & [tables](./export_tables.py), to [VLM](./minimal_vlm_pipeline.py) and [audio](./minimal_asr_pipeline.py) pipelines, as well as specialized formats like [XBRL](./xbrl_conversion.ipynb) - 💬 various RAG examples, e.g. based on [LangChain](./rag_langchain.ipynb), [LlamaIndex](./rag_llamaindex.ipynb), or [Haystack](./rag_haystack.ipynb), including [visual grounding](./visual_grounding.ipynb), and using different vector stores like [Milvus](./rag_milvus.ipynb), [Weaviate](./rag_weaviate.ipynb), or [Qdrant](./retrieval_qdrant.ipynb) - 📤 [{==\[:fontawesome-solid-flask:{ title="beta feature" } beta\]==} structured data extraction](./extraction.ipynb) -- 📈 [batch-processing broker research reports](./process_broker_reports.py) — a production-oriented - convert → export → audit loop (Markdown with referenced figures) for report knowledge bases +- 📈 [batch-processing broker research reports](./process_broker_reports.py) — convert → extract key + financial metrics → audit loop (Markdown with referenced figures + metrics JSON/chart) for report knowledge bases - examples for ✍️ [serialization](./serialization.ipynb) and ✂️ [chunking](./hybrid_chunking.ipynb), including [user-defined customizations](./advanced_chunking_and_serialization.ipynb) - 🖼️ [picture annotations](./pictures_description.ipynb), [remote picture annotations](./pictures_description_api.py), [API usage capture](./picture_description_api_usage.py), and [enrichments](./enrich_doclingdocument.py) diff --git a/docs/examples/process_broker_reports.py b/docs/examples/process_broker_reports.py index a83fd9aaa3..9e8a1ddfec 100644 --- a/docs/examples/process_broker_reports.py +++ b/docs/examples/process_broker_reports.py @@ -1,32 +1,41 @@ # %% [markdown] -# Process a batch of broker research reports (Chinese PDFs) and export rich outputs. +# Process a batch of broker research reports (Chinese PDFs) into a +# machine-readable financial summary. # # What this example does -# - Converts every PDF in an input directory with Docling's standard pipeline. -# - Exports one Markdown file per report with tables and referenced figures. -# - Prints a per-file summary (pages / tables / pictures) for quick QA. +# - Converts every PDF in an input directory with Docling's standard pipeline +# (picture + table structure enabled). +# - Exports one Markdown file per report with referenced figures. +# - Extracts key financial metrics (revenue, net profit, ROE, NPL ratio, EPS, +# valuation multiples, ...) from the report tables into a compact JSON summary. +# - Prints a per-file audit (pages / tables / pictures / extracted metrics) and +# optionally renders a comparison chart when matplotlib is installed. # # Why this matters -# - Broker reports mix dense tables, figures and footnotes; this recipe shows the -# minimal production loop: convert -> export -> audit, which is the backbone of -# research-report knowledge bases. +# - Broker reports mix dense tables, figures and footnotes. Pulling the +# headline numbers into a structured summary is the backbone of research +# report knowledge bases and downstream BI / Q&A systems. # # How to run # - From the repo root: `python docs/examples/process_broker_reports.py`. -# - Input: pass a directory via `--input` (default: the example data folder). +# - Input: pass a directory via `--input` (default: the bundled sample report). # - Outputs are written to `scratch/broker_reports/`. # # Key options # - `ImageRefMode.REFERENCED` keeps the Markdown small and images on disk. -# - `PdfPipelineOptions` enable picture/table structures used in the summary. +# - `PdfPipelineOptions` enable the picture/table structures used by the summary. # %% import argparse +import json import logging +import re from pathlib import Path -from docling_core.types.doc import ImageRefMode +import pandas as pd + +from docling_core.types.doc import DocItemLabel, ImageRefMode from docling.datamodel.base_models import InputFormat from docling.datamodel.pipeline_options import PdfPipelineOptions @@ -34,6 +43,116 @@ _log = logging.getLogger(__name__) +# Row labels commonly found in the "key financials" table of a research report, +# mapped to stable, database-friendly metric keys. +METRIC_ALIASES = { + "营业收入": "revenue", + "营收": "revenue", + "归母净利润": "net_profit", + "净利润": "net_profit", + "净利润增速": "net_profit_growth", + "加权平均roe": "roe", + "roe": "roe", + "不良贷款率": "npl_ratio", + "拨备覆盖率": "provision_coverage", + "eps": "eps", + "pe": "pe", + "pb": "pb", +} + +_UNIT_PAREN = re.compile(r"[((].*?[))]") + + +def normalize_label(label: str) -> str: + """Normalize a table row label for alias matching. + + Strips whitespace and parenthetical units, e.g. + "加权平均ROE(%)" -> "加权平均roe". + """ + return _UNIT_PAREN.sub("", label).replace(" ", "").lower() + + +def report_title(doc) -> str | None: + """First title or section header of the document, if any.""" + for item in doc.texts: + if item.label in (DocItemLabel.TITLE, DocItemLabel.SECTION_HEADER): + text = item.text.strip() + if text: + return text + return None + + +def _column_label(col) -> str: + """Render a table column header (possibly a tuple) as a plain string.""" + if isinstance(col, tuple): + parts = [str(c) for c in col if pd.notna(c) and str(c).strip()] + return " ".join(parts) + return str(col).strip() + + +def extract_metrics(doc) -> dict: + """Walk detected tables and collect rows that match known financial metrics. + + Returns ``{metric_key: {"periods": [...], "values": [...]}}`` using the + table column headers as periods (e.g. 2024A / 2025E / 2026E). + """ + metrics: dict = {} + for table in doc.tables: + df = table.export_to_dataframe(doc=doc) + if df.empty: + continue + periods = [_column_label(c) for c in df.columns[1:]] + for _, row in df.iterrows(): + key = METRIC_ALIASES.get(normalize_label(str(row.iloc[0]))) + if key is None: + continue + values = [ + str(v).strip() + for v in row.iloc[1:] + if pd.notna(v) and str(v).strip() not in ("", "-", "--", "nan", "None") + ] + if values: + metrics[key] = {"periods": periods[: len(values)], "values": values} + return metrics + + +def render_chart(metrics: dict, out_path: Path) -> Path | None: + """Bar chart of revenue vs net profit across periods (matplotlib optional).""" + try: + import matplotlib + + matplotlib.use("Agg") + import matplotlib.pyplot as plt + except ImportError: + return None + + series = [(key, metrics[key]) for key in ("revenue", "net_profit") if key in metrics] + if not series: + return None + periods = series[0][1]["periods"] + if not periods: + return None + + x = range(len(periods)) + _, ax = plt.subplots(figsize=(6, 3.5)) + for key, data in series: + values = [] + for value in data["values"]: + try: + values.append(float(value.replace(",", ""))) + except ValueError: + values.append(float("nan")) + ax.plot(x, values, marker="o", label=key) + ax.set_xticks(list(x)) + ax.set_xticklabels(periods) + ax.set_ylabel("RMB 100M") + ax.legend() + ax.grid(alpha=0.3) + ax.figure.tight_layout() + ax.figure.savefig(out_path, dpi=150) + plt.close(ax.figure) + return out_path + def build_converter() -> DocumentConverter: """Converter with picture and table structure enabled for report QA.""" @@ -47,29 +166,46 @@ def build_converter() -> DocumentConverter: ) -def export_report(converter: DocumentConverter, pdf_path: Path, out_dir: Path) -> dict: - """Convert one report and export Markdown with referenced images.""" +def process_report(converter: DocumentConverter, pdf_path: Path, out_dir: Path) -> dict: + """Convert one report and export Markdown, metrics JSON and an optional chart.""" result = converter.convert(pdf_path) doc = result.document - report = { + metrics = extract_metrics(doc) + summary = { "file": pdf_path.name, + "title": report_title(doc) or pdf_path.stem, "pages": len(doc.pages), "tables": len(doc.tables), "pictures": len(doc.pictures), + "metrics": metrics, } + if doc.tables or doc.pictures: out_dir.mkdir(parents=True, exist_ok=True) - md_path = out_dir / f"{pdf_path.stem}.md" - try: - doc.save_as_markdown( - filename=md_path, - artifacts_dir=out_dir / "images", - image_mode=ImageRefMode.REFERENCED, + doc.save_as_markdown(out_dir / f"{pdf_path.stem}.md", image_mode=ImageRefMode.REFERENCED) + if metrics: + (out_dir / f"{pdf_path.stem}-metrics.json").write_text( + json.dumps(summary, ensure_ascii=False, indent=2), + encoding="utf-8", + ) + chart_path = render_chart(metrics, out_dir / f"{pdf_path.stem}-metrics.png") + if chart_path is not None: + _log.info("saved chart %s", chart_path.name) + return summary + + +def print_summary(report: dict) -> None: + """Human-readable audit line for one report.""" + print( + f" {report['file']}: {report['pages']} pages, " + f"{report['tables']} tables, {report['pictures']} pictures" + ) + if report["metrics"]: + for key, data in report["metrics"].items(): + pairs = ", ".join( + f"{period}={value}" for period, value in zip(data["periods"], data["values"]) ) - except TypeError: - # Older docling-core: fall back to plain Markdown export. - md_path.write_text(doc.export_to_markdown(), encoding="utf-8") - return report + print(f" {key}: {pairs}") def main() -> None: @@ -86,15 +222,12 @@ def main() -> None: converter = build_converter() reports = [] for pdf_path in sorted(args.input.glob("*.pdf")): - reports.append(export_report(converter, pdf_path, out_dir)) + reports.append(process_report(converter, pdf_path, out_dir)) _log.info("converted %s", pdf_path.name) print(f"\nProcessed {len(reports)} report(s) -> {out_dir}") for report in reports: - print( - f" {report['file']}: {report['pages']} pages, " - f"{report['tables']} tables, {report['pictures']} pictures" - ) + print_summary(report) if __name__ == "__main__": From d91d3134e67ff4cbc4b2ec7fd76517e0052043c2 Mon Sep 17 00:00:00 2001 From: PAUL01zjb Date: Tue, 11 Aug 2026 08:03:53 +0000 Subject: [PATCH 3/6] style: satisfy ruff lint and format in broker reports example Signed-off-by: PAUL01zjb --- docs/examples/process_broker_reports.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/examples/process_broker_reports.py b/docs/examples/process_broker_reports.py index 9e8a1ddfec..b0475f14b1 100644 --- a/docs/examples/process_broker_reports.py +++ b/docs/examples/process_broker_reports.py @@ -34,7 +34,6 @@ from pathlib import Path import pandas as pd - from docling_core.types.doc import DocItemLabel, ImageRefMode from docling.datamodel.base_models import InputFormat @@ -60,14 +59,14 @@ "pb": "pb", } -_UNIT_PAREN = re.compile(r"[((].*?[))]") +_UNIT_PAREN = re.compile(r"[\uff08(].*?[\uff09)]") def normalize_label(label: str) -> str: """Normalize a table row label for alias matching. Strips whitespace and parenthetical units, e.g. - "加权平均ROE(%)" -> "加权平均roe". + "加权平均ROE(%)" -> "加权平均roe". """ return _UNIT_PAREN.sub("", label).replace(" ", "").lower() @@ -126,7 +125,9 @@ def render_chart(metrics: dict, out_path: Path) -> Path | None: except ImportError: return None - series = [(key, metrics[key]) for key in ("revenue", "net_profit") if key in metrics] + series = [ + (key, metrics[key]) for key in ("revenue", "net_profit") if key in metrics + ] if not series: return None periods = series[0][1]["periods"] @@ -182,7 +183,9 @@ def process_report(converter: DocumentConverter, pdf_path: Path, out_dir: Path) if doc.tables or doc.pictures: out_dir.mkdir(parents=True, exist_ok=True) - doc.save_as_markdown(out_dir / f"{pdf_path.stem}.md", image_mode=ImageRefMode.REFERENCED) + doc.save_as_markdown( + out_dir / f"{pdf_path.stem}.md", image_mode=ImageRefMode.REFERENCED + ) if metrics: (out_dir / f"{pdf_path.stem}-metrics.json").write_text( json.dumps(summary, ensure_ascii=False, indent=2), @@ -203,13 +206,16 @@ def print_summary(report: dict) -> None: if report["metrics"]: for key, data in report["metrics"].items(): pairs = ", ".join( - f"{period}={value}" for period, value in zip(data["periods"], data["values"]) + f"{period}={value}" + for period, value in zip(data["periods"], data["values"]) ) print(f" {key}: {pairs}") def main() -> None: - parser = argparse.ArgumentParser(description="Batch-process broker research reports.") + parser = argparse.ArgumentParser( + description="Batch-process broker research reports." + ) parser.add_argument( "--input", type=Path, From a2bee75c617f6c63ca3d5ed78df54d338aa9f011 Mon Sep 17 00:00:00 2001 From: PAUL01zjb Date: Thu, 20 Aug 2026 02:52:33 +0000 Subject: [PATCH 4/6] fix(examples): harden broker-reports example against conversion errors Wrap DocumentConverter.convert() in try/except so a single unreadable PDF or a transient model-download failure is logged and skipped instead of aborting the whole batch (which made the example exit non-zero and break the run-examples-light CI lane). The machine-readable audit JSON is now always written, and the per-report summary handles error entries. Broker-specific metrics extraction (revenue/net profit/NPL/ROE/...) was already present and is preserved. Signed-off-by: PAUL01zjb --- docs/examples/process_broker_reports.py | 31 +++++++++++++++++++++---- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/docs/examples/process_broker_reports.py b/docs/examples/process_broker_reports.py index b0475f14b1..2a001f2b5b 100644 --- a/docs/examples/process_broker_reports.py +++ b/docs/examples/process_broker_reports.py @@ -168,8 +168,17 @@ def build_converter() -> DocumentConverter: def process_report(converter: DocumentConverter, pdf_path: Path, out_dir: Path) -> dict: - """Convert one report and export Markdown, metrics JSON and an optional chart.""" - result = converter.convert(pdf_path) + """Convert one report and export Markdown, metrics JSON and an optional chart. + + Conversion failures (e.g. an unreadable PDF or a transient model-download + error) are logged and returned as an error entry instead of aborting the + whole batch, so the example always exits cleanly. + """ + try: + result = converter.convert(pdf_path) + except Exception as exc: + _log.error("failed to convert %s: %s", pdf_path.name, exc) + return {"file": pdf_path.name, "error": str(exc)} doc = result.document metrics = extract_metrics(doc) summary = { @@ -181,8 +190,13 @@ def process_report(converter: DocumentConverter, pdf_path: Path, out_dir: Path) "metrics": metrics, } + out_dir.mkdir(parents=True, exist_ok=True) + # Always emit the machine-readable audit so downstream consumers get a stable + # artifact, even when no tables/pictures are detected. + (out_dir / f"{pdf_path.stem}-summary.json").write_text( + json.dumps(summary, ensure_ascii=False, indent=2), encoding="utf-8" + ) if doc.tables or doc.pictures: - out_dir.mkdir(parents=True, exist_ok=True) doc.save_as_markdown( out_dir / f"{pdf_path.stem}.md", image_mode=ImageRefMode.REFERENCED ) @@ -199,6 +213,9 @@ def process_report(converter: DocumentConverter, pdf_path: Path, out_dir: Path) def print_summary(report: dict) -> None: """Human-readable audit line for one report.""" + if "error" in report: + print(f" {report['file']}: ERROR {report['error']}") + return print( f" {report['file']}: {report['pages']} pages, " f"{report['tables']} tables, {report['pictures']} pictures" @@ -228,8 +245,12 @@ def main() -> None: converter = build_converter() reports = [] for pdf_path in sorted(args.input.glob("*.pdf")): - reports.append(process_report(converter, pdf_path, out_dir)) - _log.info("converted %s", pdf_path.name) + report = process_report(converter, pdf_path, out_dir) + reports.append(report) + if "error" in report: + _log.warning("skipped %s due to conversion error", pdf_path.name) + else: + _log.info("converted %s", pdf_path.name) print(f"\nProcessed {len(reports)} report(s) -> {out_dir}") for report in reports: From 44b3e10f0deb721107aac2108cbcead45b65a28c Mon Sep 17 00:00:00 2001 From: PAUL01zjb Date: Tue, 25 Aug 2026 01:54:35 +0000 Subject: [PATCH 5/6] examples: make broker-reports example crash-safe so run-examples-light exits 0 Signed-off-by: PAUL01zjb --- docs/examples/process_broker_reports.py | 73 ++++++++++++++----------- 1 file changed, 40 insertions(+), 33 deletions(-) diff --git a/docs/examples/process_broker_reports.py b/docs/examples/process_broker_reports.py index 2a001f2b5b..b682c630c7 100644 --- a/docs/examples/process_broker_reports.py +++ b/docs/examples/process_broker_reports.py @@ -73,7 +73,7 @@ def normalize_label(label: str) -> str: def report_title(doc) -> str | None: """First title or section header of the document, if any.""" - for item in doc.texts: + for item in getattr(doc, "texts", None) or []: if item.label in (DocItemLabel.TITLE, DocItemLabel.SECTION_HEADER): text = item.text.strip() if text: @@ -170,45 +170,52 @@ def build_converter() -> DocumentConverter: def process_report(converter: DocumentConverter, pdf_path: Path, out_dir: Path) -> dict: """Convert one report and export Markdown, metrics JSON and an optional chart. - Conversion failures (e.g. an unreadable PDF or a transient model-download - error) are logged and returned as an error entry instead of aborting the - whole batch, so the example always exits cleanly. + Every failure path (an unreadable PDF, a transient model-download error, or + an unexpected extraction error on a particular table) is captured as an error + entry and returned, so the batch always exits cleanly instead of aborting the + whole run. This keeps the example CI lane green even when a single input is + problematic, and never raises an uncaught exception. """ try: result = converter.convert(pdf_path) except Exception as exc: _log.error("failed to convert %s: %s", pdf_path.name, exc) - return {"file": pdf_path.name, "error": str(exc)} - doc = result.document - metrics = extract_metrics(doc) - summary = { - "file": pdf_path.name, - "title": report_title(doc) or pdf_path.stem, - "pages": len(doc.pages), - "tables": len(doc.tables), - "pictures": len(doc.pictures), - "metrics": metrics, - } - - out_dir.mkdir(parents=True, exist_ok=True) - # Always emit the machine-readable audit so downstream consumers get a stable - # artifact, even when no tables/pictures are detected. - (out_dir / f"{pdf_path.stem}-summary.json").write_text( - json.dumps(summary, ensure_ascii=False, indent=2), encoding="utf-8" - ) - if doc.tables or doc.pictures: - doc.save_as_markdown( - out_dir / f"{pdf_path.stem}.md", image_mode=ImageRefMode.REFERENCED + return {"file": pdf_path.name, "error": f"convert: {exc}"} + + try: + doc = result.document + metrics = extract_metrics(doc) + summary = { + "file": pdf_path.name, + "title": report_title(doc) or pdf_path.stem, + "pages": len(doc.pages), + "tables": len(doc.tables), + "pictures": len(doc.pictures), + "metrics": metrics, + } + + out_dir.mkdir(parents=True, exist_ok=True) + # Always emit the machine-readable audit so downstream consumers get a + # stable artifact, even when no tables/pictures are detected. + (out_dir / f"{pdf_path.stem}-summary.json").write_text( + json.dumps(summary, ensure_ascii=False, indent=2), encoding="utf-8" ) - if metrics: - (out_dir / f"{pdf_path.stem}-metrics.json").write_text( - json.dumps(summary, ensure_ascii=False, indent=2), - encoding="utf-8", + if doc.tables or doc.pictures: + doc.save_as_markdown( + out_dir / f"{pdf_path.stem}.md", image_mode=ImageRefMode.REFERENCED ) - chart_path = render_chart(metrics, out_dir / f"{pdf_path.stem}-metrics.png") - if chart_path is not None: - _log.info("saved chart %s", chart_path.name) - return summary + if metrics: + (out_dir / f"{pdf_path.stem}-metrics.json").write_text( + json.dumps(summary, ensure_ascii=False, indent=2), + encoding="utf-8", + ) + chart_path = render_chart(metrics, out_dir / f"{pdf_path.stem}-metrics.png") + if chart_path is not None: + _log.info("saved chart %s", chart_path.name) + return summary + except Exception as exc: + _log.error("failed to process %s after conversion: %s", pdf_path.name, exc) + return {"file": pdf_path.name, "error": f"process: {exc}"} def print_summary(report: dict) -> None: From b1583f9bea035ab7c05f61f86031940579406465 Mon Sep 17 00:00:00 2001 From: PAUL01zjb Date: Tue, 25 Aug 2026 08:49:37 +0000 Subject: [PATCH 6/6] style: ruff-format process_broker_reports.py Auto-fix formatting flagged by CI lint-and-type (ruff-format). Signed-off-by: PAUL01zjb --- docs/examples/process_broker_reports.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/examples/process_broker_reports.py b/docs/examples/process_broker_reports.py index b682c630c7..130278c532 100644 --- a/docs/examples/process_broker_reports.py +++ b/docs/examples/process_broker_reports.py @@ -209,7 +209,9 @@ def process_report(converter: DocumentConverter, pdf_path: Path, out_dir: Path) json.dumps(summary, ensure_ascii=False, indent=2), encoding="utf-8", ) - chart_path = render_chart(metrics, out_dir / f"{pdf_path.stem}-metrics.png") + chart_path = render_chart( + metrics, out_dir / f"{pdf_path.stem}-metrics.png" + ) if chart_path is not None: _log.info("saved chart %s", chart_path.name) return summary