Skip to main content

Optimise your PDF for e-book reader

Some of you e-book enthusiasts maybe also ran into a problem when trying to read some PDF that was not optimised for reading on e-book reader (e.g. Kindle). The margins are too wide, pictures are too small, etc.

Luckily there is one very useful (command line) tool that helps you prepare your PDF document for reading on your e-book. It's name is k2pdfopt (not very lucky name I think). This utility scans the content of the provided PDF document, reorganises the columns (if there are multiple) and improves overall document readability.

Here is a saple of document before and after the optimisation:

 

To optimise the document use following command:

  1. If you use unix based system (Linux, MacOS) change the downloaded k2pdfopt file to exacutable by running `chmod +x k2pdfopt`
  2. Run the k2pdfopt commang with PDF you want to optimise as parameter: `k2pdfopt /path/to/your/file.pdf`
  3. Use `d` option to choose desired target device
  4. You can check other options - they may be useful for you
  5. Hit `Enter` to optimise the PDF file


Resulting PDF file will be saved in same directory as source PDF file.

Use some your e-book management tool to import resulting PDF file to your e-book reader (e.g. Callibre). 

Comments

Popular posts from this blog

proste pohoda

minuly vikend som sa uz po druhykrat zucastnil festivalu pohoda. o najkrajsie zazitky sa teda podelim aj s vami. ako to vsetko prebiehalo? na zaciatku sme si uz pocas cesty stanovili presne pravidla, ako napriklad :"do not talk with french girl on the back seat..." a podobne. hned po prichode na trencianske letisko sme sa co najrychlejsie zorientovali v programe festivalu a coskoro sme uz skumali areal festivalu z bezprostrednej blizkosti. no a nieco k programu. den prvy - piatok: pocas poobedia sme sa zucastnili na lekcii balkanskych tancov (celkom dobre na zahriatie; spolu s dzusom riedenym vodkou:) neskor sme sa isli napapat naspat k nasmu autu a po neuspesnom cakani na nasich kamaratov sme sa vecer vybrali na koncert 'dana bartu' ... , kvoli ktoremu som vlastne na pohodu isiel. no co povedat na jeho vykon, ani sa to neda popisat... treba vidiet. zbytok vecera a noci sme pobehovali medzi stageami a stankami so suvenirmi. pekny zazitok mam aj z koncertu ...

Fujarový workshop

Po prudkom začiatku týždňa som sa až dnes dostal k písaniu príspevku o mojom predchádzajúcom víkende. Ten bol zvláštny najmä tým, že sme ako kapela boli súčasťou fujarového workshopu v Zázrivej. Ako sme sa k takejto akcii vôbec dostali? Nuž poznáme sa so správnymi ľuďmi. Teda s fujarášmi, ktorí toto podujatie organizujú už po druhý raz. Aj kvôli tomu, že ich poznáme, a že sú to fajn ľudia sme sa rozhodli im s touto akciou trochu pomôcť. Sami sme vlastne nevedeli, čo presne sa od nás ako kapely bude očakávať. Nakoniec to však dopadlo všetko takmer ideálne. Ráno sme zavítali do dedinky Zázrivá a hneď po vystúpení z auta nás na Jánošíkovom dvore vítali z každej strany zvuky cvičiacich fujarášov. Na workshope sa zúčastnilo približne 10 ľudí, ktorý sa buď chcú naučiť na fujare hrať alebo ich vyrábať. Dvor bol však plný okoloidúcich, ktorí sa prišli pozrieť na toto zaujímavé podujatie. Z našej strane išlo najmä o zvučenie a sprievod majstrov fujarášov Jara Slobodu a Dušana Holíka....

Servant (Design Pattern) in Java - example

The servant design pattern - or better idiom is used to provide the functionality (methods) to some group of objects. This functionality is common for all these object and therefor should not be repeated in every of these classes. The object, which should be served is passed to the method of servant as a parameter. All the served objects should implement common interface - in this particular example IMovable interface. Also the type of argument passed to the servand method is of type IMovable . The servant in this example is used to move objects from one position to another. In real life application these methods should change the position of object in small steps so that the final change would look like smooth movement (animation). In my servant method, only some message are printed instead for demonstration. IMovable interface: package com.shimon.servant; import java.awt.Point; /** * Movable interface * @author shimon * */ public interface IMovable { public void setPos...