diff options
| -rw-r--r-- | LICENSE | 12 | ||||
| -rw-r--r-- | README.md | 34 | ||||
| -rw-r--r-- | requirements.txt | 5 |
3 files changed, 51 insertions, 0 deletions
@@ -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 |
