databricks-unstructured-pdf-generation

Generate synthetic PDFs from HTML and upload them to Unity Catalog volumes for RAG evaluation.

4|1|Updated May 22, 2026
One-click install
npx skills add https://github.com/ThomazRossito/ai-data-agents --skill databricks-unstructured-pdf-generation-thomazrossito
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: databricks-unstructured-pdf-generation
Source: https://github.com/ThomazRossito/ai-data-agents/tree/main/plugins/ai-data-agents/skills/databricks-unstructured-pdf-generation
Command: npx skills add https://github.com/ThomazRossito/ai-data-agents --skill databricks-unstructured-pdf-generation-thomazrossito

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires plutoprint, and includes scripts (resource) components.

What problem does it solve? Building RAG or unstructured-document retrieval demos on Databricks requires realistic test documents and gold evaluation questions, which are tedious to create and organize manually in Unity Catalog volumes. ## Core Features & Use Cases - HTML to PDF Conversion: Convert batches of HTML files to PDFs in parallel using plutoprint, with timestamp-based skipping to avoid redundant work. - Unity Catalog Upload: Push generated PDFs to UC volumes with the correct dbfs: path layout so Knowledge Assistant or ingest pipelines can read them directly. - Paired Evaluation Questions: Produce a pdf_eval_questions.json gold dataset for retrieval-quality scoring with mlflow.genai.evaluate(). - Use Case: Create a set of synthetic API error reference guides as PDFs, upload them to a UC volume, and pair each with test questions to validate a Knowledge Assistant's retrieval accuracy. ## Quick Start Generate synthetic PDF documents from HTML files, upload them to a Unity Catalog volume, and create paired evaluation questions for retrieval testing.

Frequently Asked Questions about databricks-unstructured-pdf-generation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert HTML files to PDF in Python?▼

Use the bundled pdf_generator.py script, which wraps plutoprint to convert HTML to PDF. Run the convert subcommand with --input and --output flags; it processes folders in parallel with 4 workers and skips files whose PDFs are already up-to-date.

How to upload PDFs to a Databricks Unity Catalog volume?▼

Use databricks fs cp -r --overwrite with the dbfs: scheme prefix, for example dbfs:/Volumes/my_catalog/my_schema/raw_data/pdf. The -r flag copies the contents of the source directory, so name the target folder explicitly.

Does this skill work without Databricks for simple PDF generation?▼

For ad-hoc PDFs without a Databricks workflow, any HTML to PDF tool such as weasyprint, wkhtmltopdf, playwright pdf, or plutoprint works directly. This skill targets the end-to-end synthetic-dataset-on-Unity-Catalog workflow.

Why does the volume creation command fail with catalog.schema.volume?▼

The databricks volumes create command takes four separate positional arguments: CATALOG, SCHEMA, VOLUME_NAME, and MANAGED. Passing a dotted catalog.schema.volume string causes the 'Volume does not exist' style errors.

What content should synthetic PDFs include for Knowledge Assistant testing?▼

Include multi-page documents with specific error codes, API endpoints, configuration parameters, and version-specific details. Facts must require reading the document to answer, so retrieval evaluation genuinely tests the pipeline rather than general knowledge.