Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm interested in a virtual printer that would allow me to:

  • preview the stuff that I'm about to print, and remove some pages
  • allow printing multiple pages per sheet, removing white margins of pages when doing so.
  • do manual duplex

(The reason is: I print lots of PDFs with math papers, with huge margins. If I remove the margins, prit two to a page, and double-sided, they become very pleasant to read, use far less paper, and are less heavy because of that. However, if the margins are not removed, the font becomes tiny, and painful to read).

For Windows, I know two pieces of software that do what I want: FinePrint and priPrinter. Both are quite expensive, proprietary, and unavailable for Linux.

My question is: do you know any analogues that would either be available on Linux, be free (or at least cheaper), or both? Also, has anybody had any success running either of the above programs under Wine?


There are two and a half options I know of.

  1. There is iPrint which is free, Windows-only, proprietary, and quite close to useless - it doesn't crop (although it does most of the other things on the list).

  2. There are also psutils for Linux, and in particular something called psnup. They are quite inconvenient to use. More problematically, they don't seem to understand a lot of kinds of postscript and the printers don't always understand the postscript they generate. So, printing with them is like walking a minefield. Because of this, I stopped using them. However, a GUI for them or some advice on how to make them more reliable is welcome.

    Barton Chittenden, below, also suggested impose+, which automatically crops and does 2-up better than ps2up. Thanks! Unfortunately, it doesn't remove all the margins. Also, it still uses psutils, and so I'm not sure how reliable it is.

  3. For now, I'm using the unregistered version of priPrinter. The banner is small enough that I can use it for anything I print for myself (at least in old versions, I'm not sure about the newest one). However, it is annoying, and there's nothing I can do on Linux.

    UPDATE: In the latest version, the "unregistered" watermark is huge and ugly. The last version with small watermark is 2.5.1, one place I found it is here.

Thank you!

share|improve this question

2 Answers 2

psnup expects its input documents to follow Adobe Document Structuring Conventions (http://en.wikipedia.org/wiki/Document_Structuring_Conventions). The Document Structuring conventions set up standards which allow pages to be re-ordered, pages to be scaled cleanly, etc. If you have postscript drivers which are not following the Adobe Document Structuring Conventions, you can't really expect these things to happen cleanly anyway.

cupstestdsc will test postscript files for Document Structuring Convention compliance.

psnup also has scaling options which should allow you to take care of the margins.

I haven't had any problems printing from psnup, so I can't comment there...

There is also a package called impose+ which has many of the same options as psnup... I haven't used it, so I can't testify to its reliability either.

In terms of print preview, you may want to look at piping the output from psnup or impose though ps2pdf or in to the cups-pdf plugin.

Here's how I preview booklets generated using enscript.

enscript .prerun -o - | psbook | psnup -s.70 -2 | lp -o sides=two-sided-short-edge -d cups-pdf

The same, using ps2pdf

enscript .prerun -o - | psbook | psnup -s.70 -2 | ps2pdf -  ~/PS/book.pdf

Another possibility would be to generate altered PDF files, possibly using PDFTools:

http://sheelapps.com/index.php?p=PDFTools.HomePage&action=view

share|improve this answer
    
Thank you for your answer. The papers I'm printing are almost exclusively from djvu or pdf files (often scans, so images not text). Which PDF reader (Evince, Acrobat, ??) would generate PS that follows those conventions? What about Djview/djvulibre? Is there any way to force them to do it better? –  user21952-is-a-great-name Mar 1 '10 at 5:00
    
Here's my usual experience: first, it's a pain to make the pages rescaled the right amount (which varies depending on size of margins). If I generate PS in a dumb, file -> print -> to file kind of way, and apply pstools, I often can't open the result with ghostview. If the printer (top-of-the-line LaserJet of my department) prints anything at all, it takes an hour to print each page, and refuses to print double-sided. Any ideas? Again, thank you! –  user21952-is-a-great-name Mar 1 '10 at 5:02
    
Also thank you for mentioning impose+. I'll try it out; I have doubts about how reliable it is (it uses psutils), but it might at least automatically remove margins. –  user21952-is-a-great-name Mar 1 '10 at 5:50
    
I think that the problem that you're having with speed has to do with the fact that the scanned PDF images have all that raster data in them... each pixel of the scanned image is stored as a piece of data. When you print, your printer takes all of the raster data, and sends it through a transformation matrix, trying to calculate where to put toner on the page. There are programs which will turn bitmap images into outline, my guess is that you are going to see much better performance with these... look at vectormagic.com/home (don't know if this is the best, just the first I found) –  Barton Chittenden Mar 1 '10 at 16:55
    
I agree that this is the source of the problem. The thing is that if I just print directly from Acrobat (no scaling, 2-up), it prints fine. Also, on Windows, everything prints quickly, no matter whether you do 2-up or not, with or without priPrinter (although priPrinter itself sometimes takes a while; maybe it or Windows do some optimization behind the scenes). Perhaps what I need is something that will cut down on the resolution of those images after doing the 2-up? (Vectormagic seems to be made for small pictures; it refuses to process papers with many pages and large resolution). –  user21952-is-a-great-name Mar 1 '10 at 17:21

I'm the author of impose+. Glad you like the program. Regarding pstools, they rely on the postscript being DSC complient, but it does not check it. So if it is not, it may cause the output to fail if latter pages depend on definitions in earlier pages. For such cases, I usually try to "clean up" the postscript by doing "print to file" and choosing postscript output device in evince. You can also get the same result with ps2ps (part of ghostscript, not to be confused with pstops).

Regarding programs that generate proper postscript for impose+, I have not had any problems with the later versions of evince, that use cairo for its output.

I agree though that sometimes you get download postscript files that do not parse easily...

Scans are also problematic as they have junk pixels that are erroneously found when doing bounding box calculations. It would be nice to do some kind of morphology to do this automatically. If I get really bored one day.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.