flxzt/rnote · error

Generating Svg for page

Error message

Generating Svg for page {i} failed, returned None.

What it means

Guard in export_doc_pages_as_bitmap_bytes: the DocPagesExportPrefs export format is set to a non-bitmap (Svg) variant, so bitmap export cannot proceed. Documented contract: this function errors unless the format pref is a bitmap variant (Png/Jpeg).

Solutions

  1. Set doc_pages_export_prefs export format to Png or Jpeg before calling.
  2. Use export_doc_pages_as_svgs_bytes instead when a vector export is intended.
  3. When overriding prefs, pass DocPagesExportPrefs with a bitmap export_format.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/rnote-engine/src/engine/export.rs:716 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of flxzt/rnote@bbc5354502 (2026-09-08). Data as JSON: /api/errors/d1ddb4140b2f3681. Report an issue: GitHub.

Appendix: source

Thrown at crates/rnote-engine/src/engine/export.rs:716

        let (oneshot_sender, oneshot_receiver) = oneshot::channel::<anyhow::Result<Vec<Vec<u8>>>>();
        let doc_pages_export_prefs = doc_pages_export_prefs_override
            .unwrap_or(self.config.read().export_prefs.doc_pages_export_prefs);
        let pages_content = self.extract_pages_content(doc_pages_export_prefs.page_order);

        rayon::spawn(move || {
            let result = || -> anyhow::Result<Vec<Vec<u8>>> {
                pages_content
                    .into_par_iter()
                    .enumerate()
                    .map(|(i, page_content)| {
                        let page_svg = page_content
                            .gen_svg(
                                doc_pages_export_prefs.with_background,
                                doc_pages_export_prefs.with_pattern,
                                doc_pages_export_prefs.optimize_printing,
                                DocPagesExportPrefs::MARGIN,
                            )?
                            .ok_or(anyhow::anyhow!(
                                "Generating Svg for page {i} failed, returned None."
                            ))?;
                        Ok(rnote_compose::utils::add_xml_header(
                            rnote_compose::utils::wrap_svg_root(
                                page_svg.svg_data.as_str(),
                                Some(page_svg.bounds),
                                Some(page_svg.bounds),
                                false,
                            )
                            .as_str(),
                        )
                        .into_bytes())
                    })
                    .collect()
            };

            if oneshot_sender.send(result()).is_err() {
                error!(

View on GitHub (pinned to bbc5354502)