jgm / pandoc

Universal markup converter
https://pandoc.org
Other
33.44k stars 3.32k forks source link

OpenDocument Presentation Writer (.odp file) #5719

Open bkjohnson opened 4 years ago

bkjohnson commented 4 years ago

Hello!

It would be nice if pandoc was able to convert from something like markdown/yaml into .odp. I'm guessing that the writer could be based off of the existing .odt one but I realize that that still wouldn't be enough.

It's possible that a custom template could be used in order to match a template that a user might choose in LibreOffice, but it seems like there isn't a way to specify the layout for a specific slide, i.e. Title w/ contents, two column, etc.

Does this kind of feature seem reasonable? My imagined use case involves having presentations in a git repo, but the zipped xml in the .odp files would make it impossible for any kind of review process to happen, on top of making it difficult to browse the repo.

mb21 commented 4 years ago

Meanwhile, you can export to pptx and import that in LibreOffice.

bkjohnson commented 4 years ago

When I follow the instructions here, I do get a pptx file but it isn't treated as an actual slide show:

image

bkjohnson commented 4 years ago

^^ This was the result with pandoc 1.19.2.4 - I've uninstalled it and reinstalled with 2.7 which seems to work.

I can then run libreoffice --headless --convert-to odp *.pptx, so this might work for now.

bkjohnson commented 4 years ago

The downside to relying on a pptx as the middleman is the templating. I'm having the same issue as #5402. I exported the reference pptx, made some modifications in LibreOffice and then exported it as a pptx. This export doesn't save it in the specific format that PowerPoint 2002 - 2013 used.

I'm hoping I can find some time in the near future to fork this and see if I can make decent progress at a dedicated odp writer & template customization that uses master slides rather than whatever the first 4 slides happen to be.

ttxtea commented 4 years ago

One problem I keep having with the pptx output on pandoc 2.7.3 and libreoffice impress 6.3.4.2 is that the presentation dont keep the formulas. This is likely due to openoffice pptx 2007 restriction. At least some users have reported that formulas work on windows office. A real odp export would probably solve the formula problem.

rohieb commented 4 years ago

@bkjohnson it would be very cool to have such a writer :) because I find it very sad to rely on proprietary software in order to customize the template, and my LaTeX beamer skills are not good enough yet :(

BTW, what is this "OpenDocument" writer that is mentioned in the docs for the --to= parameter? Is that related to LIbreOffice at all?

bkjohnson commented 4 years ago

I haven't had the free time to work on this, so no progress on the writer unfortunately.

I think the "OpenDocument" writer is related to LibreOffice, but perhaps a maintainer will be able to give a better answer.

jgm commented 4 years ago

opendocument is the XML format used for content in ODT (and perhaps other LibreOffice formats).

rohieb commented 4 years ago

opendocument is the XML format used for content in ODT (and perhaps other LibreOffice formats).

Thanks! Is there any clue how to use it? If I just do a pandoc -t opendocument inputfile.md > outputfile.odt and try to open that in LibreOffice, it just shows the XML source…

jgm commented 4 years ago

You could try pandoc -t opendocument -s inputfile.md > outputfile.fodt. (fodt = flat ODT) I'm not sure this will work, but it might. However, the main use of the opendocument writer is not to produce standalone documents, but to produce fragments to be used inside ODT containers.