Exporting a presentation without annotations (student version vs teacher version)?

Hello,

I use to upload course presentations to an e-learning platform for my students. I have noticed that they tend to be more passive if they have the full content. Thus, I am seeking a solution to remove easily annotations from a document, yet leaving the bare images (and keeping the annotations just for myself).

This could be, for example, when exporting to PDF (the format I generally use to share this type of documents).

Thank you for any suggestions you might have!
Maxime

notes ?

PDF Export General

Thank you for the suggestion!

Maybe my question was not very clear, but for annotations, I mean for example the names of the countries superimposed on a map (that I project in the classroom), as opposed to the bare map itself (that I share with the students, to annotate themselves).

Yours,
Maxime

you can use a specific style, and toggle its transparency to produce your 2 printed versions.

Sorry, transparency only affects the area, not the font.

Alternatively, adjust the font effect/font color (e.g. white) in the drawing style.

don’t be. thanks for the heads up.

on a map, might not be so effective.

a solution would be arrange maps back/front. tedious manually though.

2 Likes

Yes, one.

Another option would be to duplicate the slides, once with and once without labeling.
However, this would be very time-consuming to maintain.

Hello,

Thank you for your suggestions. A colleague told me that removing all text from the presentation would be fairly easy (and quick) using a script, but that’s also a bit of an overkill…

Yours,
Maxime

Another alternative would be to use Draw instead of Impress for this task.
There you can use several layers and release or lock them for printing.

2 Likes

Exactly this was my first thought. Probably because I prefer to use Draw also for much of my graphical presentation support.

  • Impress provides a rich interface for linear presentations: Fullscreen smooth flowing presentation with visual effects, Presentation console with notes for the presenter. The creation of custom slideshows from a presentation, for different audiences/contexts. Etc.

  • Draw lacks those assistive tools, but provides the layers which can be toggled visible/invisible and print/noprint with a single click. To visualize complex systems/contexts and alternate strategies/hierarchies, the dynamics of swithcing between layers is often more useful to me. The rougher appearance (full user interface visible to the viewer) is something I can live with in those situations.

Which one to choose depends on your presentation form as well as your personal preference. A presentation using Draw for the visuals will not be as smooth as when you use Impress. The dynamics provided through layers, and the better (i think) facilitation of non-linear presentation flow, makes up for that in some situations.

1 Like

Impress has layers same as Draw. Only the UI was removed (for good reasons) from OpenOffice.org 1.1.5 to OpenOffice.org 2.0. You still can use layers but you need some manual editing and macros.

First step: Add a suitable layer to the file markup:

  1. Open the file styles.xml in the file package in an editor. I use application 7Zip to enter the .odp file. For 7Zip it is not needed to change the file extension to .zip. I have customized 7Zip so, that short cut F3 opens the sub file in Notepad++.
  2. Find the element <draw:layer-set>.
  3. Extend it with the element <draw:layer draw:name="Labels" draw:display="screen"/>. So you will have

<draw:layer-set>
<draw:layer draw:name="layout" />
<draw:layer draw:name="background" />
<draw:layer draw:name="backgroundobjects" />
<draw:layer draw:name="controls" />
<draw:layer draw:name="measurelines" />
<draw:layer draw:name="Labels" draw:display="screen" />
</draw:layer-set>

Notice, that the part draw:display="screen" is the reason, that the objects on this layer are not printed and not visible in the pdf.

  1. Save the changes and update the package.

Adding such layer using a Basic macro does not work well.

Second step: Add the Basic macros below to your Installation, e.g. into a new module in the Standard library.

sub MoveShapeToNotPrintableLayer
dim oDocument as variant: oDocument = ThisComponent
dim oLayerManager as object: oLayerManager = oDocument.LayerManager
dim oNotPrintableLayer as object
if not oLayerManager.hasByName(“Labels”) then
msgbox (“You need to extend the layer set.”)
'The needed element is <draw:layer draw:name=“Labels” draw:display=“screen”/>
exit sub
end if
oNotPrintableLayer = oLayerManager.getByName(“Labels”)
dim oShape as variant: getSelectedShape_inImpress(oShape)
if isEmpty(oShape) then
msgbox (“You need to select a single object.”)
exit sub
end if
oLayerManager.attachShapeToLayer(oShape, oNotPrintableLayer)
end sub

sub MoveShapeToDefaultLayer
dim oDocument as variant: oDocument = ThisComponent
dim oLayerManager as object: oLayerManager = oDocument.LayerManager
dim oShape as variant: getSelectedShape_inImpress(oShape)
if isEmpty(oShape) then
msgbox (“You need to select a single object.”)
exit sub
end if
dim oDefaultLayer as object
oDefaultLayer = oLayerManager.getByName(“layout”): 'case sensitive
oLayerManager.attachShapeToLayer(oShape, oDefaultLayer)
end sub

Rem Tools
sub getSelectedShape_inImpress(oShape as variant)
rem returns a single, selected shape, might be empty
dim oDocument as variant: oDocument = ThisComponent
dim oCurrentController as variant: oCurrentController = oDocument.getCurrentController()
dim oShapeCollection as variant: oShapeCollection = oCurrentController.Selection
if isEmpty(oShapeCollection) then exit sub
if oShapeCollection.Count <> 1 then exit sub
oShape = oShapeCollection.getByIndex(0)
end sub

Using the macros: Now it is very easy to exclude a text box or any other object from printing and pdf export. Select the object, press Alt+F11 and find the macro MoveShapeToNotPrintableLayer and Run the macro. For the other way round, making an object printable again, use the macro MoveShapeToDefaultLayer.

I have used the layer name Labels here. Of cause you can use a different name. You only need to make sure that the name in file markup is the same as in the macro.

4 Likes

could it be packaged as an extension ?
(no API to manipulate styles.xml ?)

I can pack it as .oxt file, but such file is not allowed for upload here. Send a mail to rb.henschel@t-online.de and I will sent it to you.

In theory you can do that with macros, but editing the affected file markup is much easier.

You can add a layer using a macro. But the here needed property IsPrintable has bug tdf#117840.

1 Like

then https://extensions.libreoffice.org/ ?

not an Easy_Hack ?

IsPrintable (full) in projects: core - OpenGrok search results

I have packed a set of macros as extension. You can download it from User:Regina/Macros for layers in Impress - The Document Foundation Wiki

@fpy, I have no idea how to add the extension to https://extensions.libreoffice.org/.

good move. thanks.

from About » Libreoffice Extensions

If you want to have your own extension listed, the please see our guide on how to use the site as an extension maintainer.

Hello,

Thank you all for your suggestions. One idea that came up on the French forum is to use styles:

1 Create a style dedicated to maskable annotations. Leave it in a “visible” state (no transparency, visible text color, etc.)
2 Assign this style to the annotations in question.
3 Before exporting to PDF, toggle the style properties to make the objects invisible (with 100% transparency, they are not included in the PDF).
4 Export to PDF.
5 After exporting, set the style property back to its “visible” value.

2 Likes