https://bugs.documentfoundation.org/show_bug.cgi?id=147776

            Bug ID: 147776
           Summary: a slide exported as SVG from Impress should Just Work
                    and not require JavaScript
           Product: LibreOffice
           Version: 7.3.1.3 release
          Hardware: All
                OS: Linux (All)
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Impress
          Assignee: libreoffice-bugs@lists.freedesktop.org
          Reporter: i...@skierpage.com

Description:
If you export a slide from Impress as SVG, it won't display properly in other
programs unless they execute JavaScript in the SVG. a) You may not see any text
from the slide, and b) You will not see any text and background from its Master
Slide. a) is because the slide contents are set visibility="hidden"; b)is
because the elements from the Master Slide are nested in a <def>. The exported
SVG depends on JavaScript to adjust these XML blocks to make content visible,
but for a single slide with no animation this is unexpected and unnecessary
complication.

Steps to Reproduce:
1. Create a new presentation in LibreOffice (Impress). I chose the Vivid
template.
2. Switch to View > Master Slide and add some text. (I did Insert > Text Box,
drag out a text box on the master slide, enter "TEXT ON MASTER SLIDE", then
select it and make it bold and red.)
3. Go to the first slide, it should be using this master, and enter some text
on it.
4. File > Export, export as SVG.
5. View the SVG in a browser like Firefox or Konqueror.
6. Open the SVG in Inkscape
7. Import the SVG into LibreOffice Draw

Actual Results:
You see the background and the text from the master slide when you view the SVG
in Firefox and Konqueror (unless you disable JavaScript, in which case you see
nothing). But in Inkscape and LibreOffice Draw, the background and text from
the master slide isn't visible.

Expected Results:
The SVG should Just Work. There's no animation, there is only a single slide,
so there's no reason to require JavaScript. The behavior is counterintuitive.
All the visual elements you see in Impress are in the SVG, they're just hidden
and nested.


Reproducible: Always


User Profile Reset: No



Additional Info:
You can edit the SVG's XML to make it work everywhere, as discussed in bug
105588#c12. To make the SVG from the STR to display correctly everywhere I had
to:
* To show the slide's content with JavaScript disabled, change the <g
class="SlideGroup"> object's <g visibility="hidden"> to <g
visibility="visible">
* To show the Master Slide's content everywhere, find the top-level <defs> tag
that encloses its content (probably the <defs> tag that contains <g ...
class="Master_Slide">) and remove or comment out the opening and closing <defs>
- </defs> tags.
* I think at this point the <script> tag is no longer needed and you can delete
it.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to