plakativ/README.md

86 lines
2.8 KiB
Markdown
Raw Normal View History

2019-07-04 10:03:30 +00:00
[![Travis Status](https://travis-ci.org/josch/plakativ.svg?branch=master)](https://travis-ci.org/josch/plakativ)
[![Appveyor Status](https://ci.appveyor.com/api/projects/status/32r7s2skrgm9ubva/branch/master?svg=true)](https://ci.appveyor.com/project/josch/plakativ/branch/master)
2019-06-30 23:39:09 +00:00
plakativ
========
Plakativ is German for "striking" or "eye-catching" and comes from the German
word "Plakat" which means poster in English.
This software allows one to stretch a PDF document across multiple pages that
2019-07-04 10:03:30 +00:00
can then be printed on a common inkjet printer, cut and glued together into a
2019-06-30 23:39:09 +00:00
larger poster.
2019-07-04 10:33:00 +00:00
Features
========
Plakativ allows one to create a poster using one of three different approaches:
- I want a poster of size X
- I want a poster X times the input page page area
- I have X pages of paper and want to print the biggest possible poster on them
Plakativ works on Windows, Linux and MacOS. It offers a GUI based on tkinter, a
command line interface and can be used as a Python module. Everything is inside
a single file.
2019-07-04 10:03:30 +00:00
Demo
====
![](demo.gif)
2019-07-04 10:11:56 +00:00
[//]: # (To make a new Video, run:)
[//]: # (ffmpeg -f x11grab -framerate 30 -video_size 800x600 -i :0.0+41,46 -preset ultrafast -c:v libx264 -crf 0 out.mp4)
[//]: # (ffmpeg -i out.mp4 -ss 00:00:04.000 -r 2.5 plakativ%04d.png)
[//]: # (convert -loop 0 plakativ*.png +map -layers Optimize plakativ.gif)
[//]: # (gifsicle -b -O3 plakativ.gif)
2019-07-04 10:03:30 +00:00
2019-07-04 10:33:00 +00:00
The demo shows a user choosing between the three different ways to define the
poster size. Either my picking a size that the input will be fit into, by
multiplying the area of the input page or by maximizing the poster size, given
a number of pages one is willing to print on.
2019-06-30 23:39:09 +00:00
2019-07-04 10:33:00 +00:00
Bugs
====
2019-06-30 23:39:09 +00:00
2019-07-04 10:33:00 +00:00
https://gitlab.mister-muffin.de/josch/plakativ/issues
2019-06-30 23:39:09 +00:00
2019-07-04 10:03:30 +00:00
TODO
====
While basic functionality is implemented, lots of work remains to be done:
- help button
- print poster borders
- print cutting guides
- changing units
- changing language
2019-07-04 10:33:00 +00:00
- adding [advanced and complex layouters](https://stackoverflow.com/questions/39306507/)
2019-07-04 10:03:30 +00:00
- make PyMuPDF dependency optional
- optionally, use pdfrw and/or pypdf2 to read/write PDF
- improve command line interface
- improve module interface
2019-06-30 23:39:09 +00:00
Comparison to PosteRazor
------------------------
http://posterazor.sourceforge.net/
PosteRazor served as the inspiration for this software. But in contrast to
PosteRazor, plakativ allows PDF documents as input and outputs PDF document
with the exact same quality as the input. It is thus not necessary anymore
to first do a lossy rasterization of an input PDF so that one can work with
PosteRazor.
Comparison to pdfposter
-----------------------
https://pdfposter.readthedocs.io/en/stable/
- no GUI
- cumbersome box definition
- no page borders for glueing
- superfluous empty pages
- only very simple layouter
2019-07-04 10:33:00 +00:00
- scaling by width/height makes doubling unintuitive