blob: f214f6e62e4246b7b8d1c240c1edb4ad6f763ad2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# kjandoc
> i needed something to combine multiple `.pptx` files, i couldn't believe `pandoc` can't do that, so here's a creative but probably useless attempt at it.
https://github.com/user-attachments/assets/915940ab-f6a5-4e6f-b8dc-62de81d35c62
https://github.com/user-attachments/assets/c7fe58c1-ff76-41bf-977b-870247a6a3e2
## what it does
- merges multiple .pptx files into one
- preserves visual formatting by rendering slides and rebuilding a new deck
- `pandoc`-style usage: `kjandoc input1.pptx input2.pptx -o combined.pptx`
## why this exists
`pandoc` is great, but it can't concatenate `.pptx` files.
this uses a headless libreoffice + pdf -> png rendering to get a merge with most formatting preserved.
the tradeoff is the output slides are images (not editable shapes).
## usage
```bash
# pandoc-style usage
./kjandoc input1.pptx input2.pptx -o combined.pptx
# tweak quality
./kjandoc input1.pptx input2.pptx -o combined.pptx --dpi 150
```
## deps
- python3
- libreoffice
- poppler (pdftoppm)
- python deps in requirements.txt
## notes
- output size is larger (images)
- visuals stay intact for the most part
|