diff --git a/README.md b/README.md index 86c980c..01a3bf0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# pystitcher +# pystitcher [![PyPI Version](https://img.shields.io/pypi/v/pystitcher)](https://pypi.org/project/pystitcher/) [![Repository License](https://img.shields.io/pypi/l/pystitcher)](LICENSE.txt) [![GitHub branch checks status](https://img.shields.io/github/checks-status/captn3m0/pystitcher/main)](https://github.com/captn3m0/pystitcher/actions?query=branch%3Amain) [![Codecov](https://img.shields.io/codecov/c/gh/captn3m0/pystitcher)](https://app.codecov.io/gh/captn3m0/pystitcher/) pystitcher stitches your PDF files together, generating nice customizable bookmarks for you using a declarative input in the form of diff --git a/README.rst b/README.rst deleted file mode 100644 index d29222c..0000000 --- a/README.rst +++ /dev/null @@ -1,143 +0,0 @@ -========== -pystitcher -========== - -.. image:: https://img.shields.io/pypi/v/pystitcher - :target: https://pypi.org/project/pystitcher/ - :alt: PyPI Version - -.. image:: https://img.shields.io/pypi/l/pystitcher - :target: LICENSE.txt - :alt: Repository License - -.. image:: https://img.shields.io/github/checks-status/captn3m0/pystitcher/main - :target: https://github.com/captn3m0/pystitcher/actions?query=branch%3Amain - :alt: GitHub branch checks status - -.. image:: https://img.shields.io/codecov/c/gh/captn3m0/pystitcher - :target: https://app.codecov.io/gh/captn3m0/pystitcher/ - :alt: Codecov - -| - -pystitcher stitches your PDF files together, generating nice customizable bookmarks for you using a declarative input in the form of a markdown file. It is written in pure python and uses `PyPDF3 `_ for reading and writing PDF files. - -Installation -============ - -You can install it easily using `pipx `_:: - - pipx install pystitcher - -The Wiki has `Alternative Installation Instructions `_. - - -Description -=========== - -pystitcher is a command line tool, with very few cli options:: - - usage: pystitcher [-h] [--version] [-v] [--cleanup | --no-cleanup] spine.md output.pdf - - Stitch PDF files together - - positional arguments: - spine.md Input markdown file - output.pdf Output PDF file - - optional arguments: - -h, --help show this help message and exit - --version show program's version number and exit - -v, --verbose log more things - --cleanup, --no-cleanup - Delete temporary files (default: True) - -Given this input:: - - existing_bookmarks: remove - title: Complete Guide to the Personal Data Protection Bill - author: Medianama - keywords: privacy, surveillance, personal data protection - subject: Personal Data Protection Bill - # A Complete Guide to the Personal Data Protection Bill - - - [Cover](cover.pdf) - - # The Bills - - - [Personal Data Protection Bill, 2019](https://example.com/2019-bill.pdf) - - [Personal Data Protection Bill, 2018](https://example.com/2018-bill.pdf) - - # Other key reading material - - - [Srikrishna Committee Report](2.a.pdf) - - [Dvara Research's Personal Data Protection Bill](2.b.pdf) - - [MP Shashi Tharoor's Data Protection Bill](2.c.pdf) - - [MP Jay Panda's Data Protection Bill](2.d.pdf) - - [SaveOurPrivacy.in bill](2.e.pdf) - - [TRAI recommendations on privacy](2.f1.pdf) - - [Comments on TRAI recommendations on privacy](2.f2.pdf) - -Will generate a PDF with proper bookmarks: - -.. image:: https://i.imgur.com/qPVpZGt.png - -And the correct metadata:: - - Title: Complete Guide to the Personal Data Protection Bill - Subject: Personal Data Protection Bill - Keywords: privacy, surveillance, personal data protection - Author: Medianama - Creator: pystitcher/1.0.0 - Producer: pystitcher/1.0.0 - -Configuration options can be specified with Meta data at the top of the file. - -+---------------------+--------------------------------------------------------------------------+ -| Option | Notes | -+=====================+==========================================================================+ -| fit | Default fit of the bookmark. Can be overwritten per bookmark | -| | See `wiki `_ | -| | for more details. | -+---------------------+--------------------------------------------------------------------------+ -| author | PDF Author | -+---------------------+--------------------------------------------------------------------------+ -| keywords | PDF Keywords | -+---------------------+--------------------------------------------------------------------------+ -| subject | PDF Subject | -+---------------------+--------------------------------------------------------------------------+ -| title | PDF Title. If left unspecified, first Heading (h1) | -| | in the document is used. | -+---------------------+--------------------------------------------------------------------------+ -| existing_bookmarks | What to do with existing bookmarks in individual files. | -| | Options are ``keep``, ``flatten``, and ``remove``. See | -| | `docs `_ | -| | for more details. | -+---------------------+--------------------------------------------------------------------------+ - -Additionally, PDF links specified in markdown can have attributes to alter the PDFs before merging. The below attribute will rotate the second PDF file by 90 degrees clockwise before merging:: - - [Part 1](1.pdf) - [Part 2](2.pdf){: rotate="90"} - -And the below attribute will merge only pages 2 to 5, both inclusive, from the second PDF file:: - - [Part 1](1.pdf) - [Part 2](2.pdf){: start=2 end=5} - -The list of available attributes are: - -+---------------------+-----------------------------------------------+ -| Attribute | Notes | -+=====================+===============================================+ -| rotate | Rotate the PDF. Valid values are 90, 180, 270 | -+---------------------+-----------------------------------------------+ -| start | Start page number for PDF page selection | -+---------------------+-----------------------------------------------+ -| end | End page number for PDF page selection | -+---------------------+-----------------------------------------------+ - -Documentation -============= - -Additional documentation is maintained on the `project wiki `_ on GitHub.