pystitcher

This commit is contained in:
Nemo 2021-05-29 01:37:38 +05:30
parent 013177a4c6
commit 9b4d1ef187
7 changed files with 200 additions and 0 deletions

View File

@ -22,6 +22,7 @@ Various talks & Lectures that I have given
20. [Sanderson's Laws of Magic](https://docs.google.com/presentation/d/1SNEEh2_i93V64Fnzg8_05vOGjJMSuagX8IyrLt-5xXk/present)
21. [multipart-emails](/talks/email-protocols/) - A short talk on how linking with mid/cid schemes works in multipart-emails. Related work: https://github.com/awdeorio/mailmerge/issues/86
22. [Payment Systems in India](/talks/payments-systems-in-india/) - A short 10 minute presentation on _some of the digital payment_ ecosystem in India.
23. [pystitcher](/talks/pystitcher) - pystitcher stitches your PDF files together, generating nice customizable bookmarks for you using a declarative input in the form of a markdown file. https://github.com/captn3m0/pystitcher
A few more talks that I've done are on my [SpeakerDeck account](https://speakerdeck.com/captn3m0) and my [slides.com](https://slides.com/captn3m0/) profile page.

BIN
pystitcher/clean.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
pystitcher/flatten.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
pystitcher/github.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
pystitcher/keep.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

37
pystitcher/slides.html Normal file

File diff suppressed because one or more lines are too long

162
pystitcher/slides.md Normal file
View File

@ -0,0 +1,162 @@
---
# try also 'default' to start simple
theme: seriph
# random image from a curated Unsplash collection by Anthony
# like them? see https://unsplash.com/collections/94734566/slidev
background: https://source.unsplash.com/collection/94734566/1920x1080
# apply any windi css classes to the current slide
class: 'text-center'
# https://sli.dev/custom/highlighters.html
highlighter: shiki
# some information about the slides, markdown enabled
info: |
## Slidev Starter Template
Presentation slides for developers.
Learn more at [Sli.dev](https://sli.dev)
---
# pystitcher
PDF stitcher for humans.
<!--
The last comment block of each slide will be treated as slide notes. It will be visible and editable in Presenter Mode along with the slide. [Read more in the docs](https://sli.dev/guide/syntax.html#notes)
-->
---
# Merging PDFs is easy
`pdftk 1.pdf 2.pdf cat output final.pdf`
---
# Except when its not
(Managing bookmarks)
```
pdftk 1.pdf 2.pdf cat output final.pdf
pdftk dump_data final.pdf > bookmarks.txt
# More code here to add more bookmarks
pdftk update_info_utf8 bookmarks.txt final.pdf final2.pdf
```
---
# [`pdfmerge`](https://github.com/metaist/pdfmerge)
- unmaintained :cry:
pdfmerge [-o FILE] PATH[RULE[, RULE ...]]
Where RULE=
[START][..][END][ROTATE]
Also no bookmarks :cry:
---
# What if?
```markdown
# Super Potato Book
# Volume 1
[Part 1](1.pdf)
# Volume 2
[Part 3](2.pdf)
```
---
# Show original PDFs
---
# Metadata!
```markdown
title: Super Jelly
Author: Nemo
keywords: potato, jelly
# Super Potato Book
# Volume 1
[Part 1](1.pdf)
# Volume 2
[Part 3](2.pdf)
```
---
# Existing Bookmarks?
```markdown
existing_bookmarks: remove
# Super Potato Book
# Volume 1
[Part 1](1.pdf)
# Volume 2
[Part 3](2.pdf)
```
---
![clean.png](clean.png)
---
# Existing Bookmarks?
```markdown
existing_bookmarks: flatten
# Super Potato Book
# Volume 1
[Part 1](1.pdf)
# Volume 2
[Part 3](2.pdf)
```
---
![flatten.png](flatten.png)
---
# Keep Bookmarks?
```markdown
existing_bookmarks: keep
# Super Potato Book
# Volume 1
[Part 1](1.pdf)
# Volume 2
[Part 3](2.pdf)
```
---
![keep.png](keep.png)
---
![](github.png)