aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE12
-rw-r--r--README.md34
-rw-r--r--requirements.txt5
3 files changed, 51 insertions, 0 deletions
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..a2c1c83
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,12 @@
+Copyright kj_sh604 <https://github.com/kj-sh604>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a1a5516
--- /dev/null
+++ b/README.md
@@ -0,0 +1,34 @@
+# 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.
+
+## 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 powerpoint decks.
+
+this uses a headless libreoffice + pdf -> png rendering to get a pixel-perfect merge.
+
+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 \ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..b9c4f5c
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,5 @@
+lxml==6.0.2
+pillow==12.1.1
+python-pptx==1.0.2
+typing_extensions==4.15.0
+xlsxwriter==3.2.9 \ No newline at end of file