Since PDF is an open standard, there are many useful free software packages. Some of them are PDFtk, pdfjam, poppler-utils, and some LaTeX packages (hyperref, navigator).
pdftk input1.pdf input2.pdf input3.pdf cat output output.pdf
pdftk input.pdf burstThe output by default is pg_0001.pdf, pg_0002.pdf, etc.
pdftk input.pdf cat '~7' output output.pdfTo remove pages 7, 9, and 14:
pdftk input.pdf cat '~7~9~14' output output.pdfTo include only pages 3, 8-11, and 15:
pdftk input.pdf cat 3 8-11 15 output output.pdf
pdftk input.pdf cat end-1 output output.pdf
pdftk input.pdf cat 1-endsouth output output.pdfTo rotate pages 3 and 8-11 by 270 degrees (=west):
pdftk input.pdf cat 1-2 3west 4-7 8-11west 12-end output output.pdf
pdfnup input.pdfThe resulting output is input-nup.pdf. The commands pdfnup (and pdfjam) use pdflatex, and have many more formatting options.
pdftk input.pdf output output.pdf user_pw PROMPTYou will then be prompted for a password. By default, the password-protected file doesn't allow printing. You can allow printing thus:
pdftk input.pdf output output.pdf user_pw PROMPT allow printing
pdftotext input.pdf output.txt
paps input.txt | ps2pdf - output.pdf
gs -dNOPAUSE -dBATCH -q -sOutputFile=- -sDEVICE=psgray input.pdf | ps2pdf - output.pdfMonochrome / black-and-white:
gs -dNOPAUSE -dBATCH -q -sOutputFile=- -sDEVICE=psmono input.pdf | ps2pdf - output.pdf
pdfinfo input.pdf
sensible-editor input.pdfThe general format is, for example /Title (The Title Goes Here), where keys start with a slash, and the values are surrounded by parentheses. Keys include /Author, /Title, /Keywords, /Subject, and a few others.
qpdf -qdf input.pdf input_text.pdfNow you can edit it with your favorite text editor:
sensible-editor input_text.pdf
pdfjam --a1paper poster_a0.pdf -o poster_a1.pdfThe command pdfjam uses pdflatex. You can manually specify the target size as well.
Another option is to use pdfposter, which is in the standard Debian/Ubuntu repositories:
pdfposter -mA1 poster_a0.pdf poster_a1.pdfPDFPoster also allows you to easily print out a large poster onto smaller sheets.
Lastly, you can also use GhostScript, which isn't very user friendly, but has many options:
gs -sPAPERSIZE=a1 -sDEVICE=pdfwrite -dFIXEDMEDIA -dPDFFitPage \ -dCompatibilityLevel=1.4 -o poster_a1.pdf poster_a0.pdf