ScreenshotArtefact
ScreenshotArtefact manifests define screenshot outputs that capture individual components from your report pages.
Unlike ReportArtefact which generates full-page PDFs, ScreenshotArtefact extracts specific charts, tables, or other components as image files.
Use Cases
Section titled “Use Cases”- Export charts for PowerPoint presentations
- Generate thumbnail previews for dashboards
- Create image assets for documentation
- Capture specific visualizations for email reports
Spec Outline
Section titled “Spec Outline”apiVersion: bino.bi/v1alpha1
kind: ScreenshotArtefact
metadata:
name: chart_exports
spec:
layoutPages:
- dashboard_page
filenamePrefix: quarterly-report
filenamePattern: ref # "index" or "ref"
imageFormat: png # "png" or "jpeg"
format: full_hd # viewport size
orientation: landscape
language: de
refs:
- kind: ChartStructure
name: sales_by_region
- kind: ChartTime
name: revenue_trend
- kind: Table
name: summary_tableFields
Section titled “Fields”Required Fields
Section titled “Required Fields”spec.layoutPages– One or moreLayoutPagenames to render. Components inrefsmust be present in these pages.spec.filenamePrefix– Prefix for all generated screenshot filenames.spec.refs– List of component references to capture:kind– Component type:ChartStructure,ChartTime,ChartTree,Table,LayoutCard, orTextname– The component’smetadata.name
Optional Fields
Section titled “Optional Fields”spec.filenamePattern– Filename pattern:"ref"(default):{prefix}-{component_name}.{ext}(e.g.,report-sales_chart.png)"index":{prefix}-001.{ext},{prefix}-002.{ext}, etc.
spec.imageFormat– Image format:"png"(default) or"jpeg"spec.quality– JPEG quality (1-100). Only used whenimageFormat: jpegspec.omitBackground– Iftrue, capture with transparent background (PNG only)spec.scale– Screenshot scale:"css"(CSS pixels) or"device"(device pixels)spec.format– Viewport size:xga,hd,full_hd,4k,4k2k, or standard paper sizesspec.orientation– Viewport orientation:portraitorlandscape(default:landscape)spec.language– Language for rendering:deoren(default:de)
Component Targeting
Section titled “Component Targeting”Screenshots target components by their metadata.name. The component must have a name defined:
# In your LayoutPage
apiVersion: bino.bi/v1alpha1
kind: LayoutPage
metadata:
name: dashboard
spec:
children:
- kind: ChartStructure
metadata:
name: sales_chart # This name is used in refs
spec:
dataset: sales_data
title: "Sales by Region"Then reference it in the ScreenshotArtefact:
refs:
- kind: ChartStructure
name: sales_chartExamples
Section titled “Examples”Basic Screenshot Export
Section titled “Basic Screenshot Export”apiVersion: bino.bi/v1alpha1
kind: ScreenshotArtefact
metadata:
name: chart_screenshots
spec:
layoutPages: main_dashboard
filenamePrefix: dashboard
refs:
- kind: ChartStructure
name: revenue_chartOutput: dashboard-revenue_chart.png
Multiple Components with JPEG
Section titled “Multiple Components with JPEG”apiVersion: bino.bi/v1alpha1
kind: ScreenshotArtefact
metadata:
name: presentation_assets
spec:
layoutPages:
- page1
- page2
filenamePrefix: q4-presentation
filenamePattern: ref
imageFormat: jpeg
quality: 90
format: full_hd
orientation: landscape
refs:
- kind: ChartStructure
name: sales_overview
- kind: ChartTime
name: monthly_trend
- kind: Table
name: kpi_summaryOutput:
q4-presentation-sales_overview.jpegq4-presentation-monthly_trend.jpegq4-presentation-kpi_summary.jpeg
Indexed Filenames
Section titled “Indexed Filenames”apiVersion: bino.bi/v1alpha1
kind: ScreenshotArtefact
metadata:
name: numbered_exports
spec:
layoutPages: report_page
filenamePrefix: export
filenamePattern: index
refs:
- kind: ChartStructure
name: chart1
- kind: ChartStructure
name: chart2
- kind: Table
name: table1Output:
export-001.pngexport-002.pngexport-003.png
High-Resolution Screenshots
Section titled “High-Resolution Screenshots”apiVersion: bino.bi/v1alpha1
kind: ScreenshotArtefact
metadata:
name: hires_charts
spec:
layoutPages: dashboard
filenamePrefix: hires
format: 4k
scale: device
refs:
- kind: ChartStructure
name: main_chartTransparent Background (PNG)
Section titled “Transparent Background (PNG)”apiVersion: bino.bi/v1alpha1
kind: ScreenshotArtefact
metadata:
name: transparent_charts
spec:
layoutPages: dashboard
filenamePrefix: transparent
imageFormat: png
omitBackground: true
refs:
- kind: ChartStructure
name: overlay_chartComplete Example
Section titled “Complete Example”Here’s a full example showing a LayoutPage with named components and a ScreenshotArtefact that captures them:
# pages.yaml
apiVersion: bino.bi/v1alpha1
kind: LayoutPage
metadata:
name: quarterly_dashboard
spec:
pageLayout: split-vertical
children:
- kind: ChartStructure
metadata:
name: sales_by_region
spec:
dataset: regional_sales
title: "Sales by Region"
scenarios:
- ac1
showCategories: true
- kind: Table
metadata:
name: top_products
spec:
dataset: product_performance
limit: 10
scenarios:
- ac1
- pp1
variances:
- dac1_pp1_pos
---
# report.yaml
apiVersion: bino.bi/v1alpha1
kind: ScreenshotArtefact
metadata:
name: quarterly_charts
spec:
layoutPages:
- quarterly_dashboard
filenamePrefix: q4-2024
filenamePattern: ref
imageFormat: png
format: full_hd
orientation: landscape
language: en
refs:
- kind: ChartStructure
name: sales_by_region
- kind: Table
name: top_productsRunning bino build will generate:
q4-2024-sales_by_region.pngq4-2024-top_products.png
Supported Component Kinds
Section titled “Supported Component Kinds”The following component kinds can be captured as screenshots:
| Kind | Description |
|---|---|
ChartStructure | Structural/categorical charts (bar, waterfall, etc.) |
ChartTime | Time-series charts |
ChartTree | Hierarchical tree diagrams |
Table | Data tables |
LayoutCard | Card containers |
Text | Text components |
- Components must have
metadata.namedefined to be targetable - The specified
layoutPagesmust contain all referenced components - Screenshots are captured after the page has fully rendered (including async data loading)
- Multiple ScreenshotArtefacts can target the same components with different settings