aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkj_sh6042026-04-26 16:51:37 -0400
committerkj_sh6042026-04-26 16:51:37 -0400
commite97235dc5b9a54471fcc567bb11ca1ec095f2d7d (patch)
tree47bbee5c63008955598bae45d9e79e3ce084503f
parent4cbbd3474fdb0b93d4f03010ade4a6004b0d02d8 (diff)
refactor: README.md
Diffstat (limited to '')
-rw-r--r--README.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..774e616
--- /dev/null
+++ b/README.md
@@ -0,0 +1,50 @@
+# kj-slidepacker
+
+> to be used with exports from [sent-web](https://sent-web.site), LaTeX Beamer, or any other source of PDF presentations.
+
+converts a `.pdf` presentation into a "fake" `.pptx` by rendering each page as an image and pasting it onto a blank slide.
+
+output slides are **not editable**, this is intentional.
+
+the goal is just to get a pdf into pptx format for corporate compliance purposes (e.g. sending to someone who **needs** a .pptx and would crazy if it's not sent with an extension that says • P P T X).
+
+## deps
+
+- python 3.13+ (probably works on older versions but not tested)
+- [pymupdf](https://pypi.org/project/pymupdf/)
+- [python-pptx](https://pypi.org/project/python-pptx/)
+
+## install
+
+```sh
+python -m venv .venv
+source .venv/bin/activate
+pip install -r requirements.txt
+```
+
+## usage
+
+```sh
+# output defaults to the same stem as the input
+./src/slidepacker deck.pdf
+
+# specify output path
+./src/slidepacker deck.pdf out.pptx
+
+# set render resolution (default: 150 dpi)
+./src/slidepacker deck.pdf --dpi 200
+```
+
+## as a libr
+
+```python
+import sys
+sys.path.insert(0, "path/to/kj-slidepacker/src")
+
+import slidepacker
+slidepacker.pack("deck.pdf", "deck.pptx", dpi=200)
+```
+
+## license
+
+0BSD - see [LICENSE](LICENSE)