I have a PDF file which I would like to edit. More specifically, I would like to select rectangles in the PDF, duplicate some of them, possibly rotate some of them, and re-arrange all of the rectangles in a new PDF. Additionally, the graphics in the original PDF are all vector, and I would like for them to stay that way, and I also want the scale of the PDF to stay unchanged (so if I printed out the new PDF, the rectangles would be the same size on the paper as if I printed out the old one).
What I currently have available is a Mac running OSX 10.6.8, all of the software that comes by default with the OS (including Preview), and NeoOffice (plus possibly some other odds and ends of programs lying around; if you think I might have something, ask). I’d be willing to download something new for this, but the total budget for this project is $0.00 .
My first try was to copy the rectangles out of Preview, paste them into a NeoOffice document, and then export that document as a PDF. This had two problems: First, it rasterized all of the graphics, which made them look ugly, and second, it also slightly shrunk all of them. The first might be acceptable if absolutely necessary, but the second is not.
The easiest might be to find a friend with Adobe Creative Suite. You’ll probably need Adobe Illustrator to work with the vector art if you want to keep them that way, and Acrobat to be able to cleanly extract the graphic elements and put them into a new document.
Actually, I just tried the second-most-obvious thing, and pasted them into TextEdit in RTF mode. Which turns out to work passably well, despite having limited control on the positioning of the rectangles (it does, however, preserve vectorness and size). Mac products in general seem to respect PDFs.
Even with Creative Suite (definitely not free), you might have trouble, depending on where the original PDF was created (and whether the original authors wanted to protect it or not).
This comes up occasionally, and it really comes down to this: PDF isn’t meant to be something you edit. It’s an output format; the digital equivalent of a printed page. If you’re going to use it as input to something, you usually use it intact. There are PDF “editors” out there, but they generally just let you tweak or annotate. Adobe Illustrator uses something very close to PDF as it’s document format, but that’s an exceptional and expensive case.
That said, you might be able to cheat. Can NeoOffice (or something you’ve got available) place the PDF? i.e. can you embed it in the document as an image, rather than cutting and pasting? If so, just place it a bunch of times, and crop/rotate each one down to just the rectangle you want.
Actually, the cutting part worked just fine. Drag a selection rectangle in Preview, and hit command-c. The problematic part was just in finding someplace to paste them: I could do it in NeoOffice, but it resized and rasterized. TextEdit did neither.
And I know that PDFs are intended as the digital equivalent of a printed page, and I was trying to do a printed-page-analogous operation to them. Where do you think we get the terms “cut and paste”, anyway?
Actually, that isn’t what you wanted. If it was, you would have settled for the rasterised output (at some device-specific resolution), cut it, rotate it and paste it. This is the closest equivalent of cut-and-paste that I can think of.
Instead, you wanted to take a scale-independent vector format document, create a view port of a specific size, clip and discard the out of view objects (or parts thereof), apply an arbitrary external transformation and include the output in another document. Trivial. Probably, the entire original Postscript page (or even document) is still hiding behind that viewport before being rendered then clipped. For each object you pasted.
What people forget is that postscript is a Page Description Language, which is Turing-Complete. A bit of PDF could (not often, but it is possible) contain chunks of programmatic content that impacts the whole of the visible page. In particular, kerning could be handled by a small routine loaded as part of the page preface. Or (as used to happen in WordPerfect) the application could handle kerning by placing every glyph on the page. In this case, there are no words, just characters in space (and not necessarily ordered) and you can only select characters from such a PDF (because there are no spaces and ordering could be completely random).
It would have been easier in Windows, though. Render the PS to WMF (which retains the vector nature of the source), then clip and transform, and Windows apps have access to APIs to place, scale and display the WMF format clip.
But as a flattened raster file. Illustrator retains the vector files, and allows you to select and manipulate the individual elements.
If I ever need a company logo, I search online for a pdf file of a brochure or annual report, drag the pdf into Illustrator and, hey presto, I have the original vector artwork for the logo.
Well, strictly speaking, I could have accepted rasterization, at a sufficiently-high resolution. The problem with rasterization is just that, at best, you’ll generally get high enough resolution to look decent on the screen, but that’s usually not high enough to look good in print.
As long as it looks right, I don’t care about that. At worst, that would just inflate the filesize some, right?
To be clearer on the actual end goal: I have a 36-page PDF file containing a bunch of things that can be printed and cut out. I don’t want to print out all of them, and some of them I want to print multiples of. The things I do want to print out amount to only about five pages, though they’re not already neatly arranged in those pages (in the original, they’re scattered throughout it).