Skip to main content

GhostScript noob help - Breaking a multipage PDF file into many single page PS or EPS files


I'm trying to do the following with ghostscript:


Turn one multipage PDF file (about 3,000 pages, 200mb file) into:


One file per page of the PDF, and convert each (page/file) to EPS or PS (post script(preferably)).


Example:


hello.pdf (10 pages)

would produce:


hello1.ps (page 1 out of 10)
hello2.ps
hello3.ps
...
hello10.ps

How can I do this? I've been trying for 4 days, and can't figure it out.


I have a script I've tried(won't work):


Note: Windows(7) user here.

gs -sDEVICE=epswrite -o documentname-%.eps documentname.pdf

I also don't know how to navigate to the directory where my file resides (cannot figure that out, too). If you can, please show me how.


A big thank you.



Answer



First, I use Linux, not Windows, so I can't test this, but I think something like this is right. (I'm almost tempted to tell you to install Linux inside a virtual machine for this, since stuff like this is sooo much easier with a grown-up operating system, but anyway, here goes my best bet for using Windows.)


First, open a Command/Dos prompt.


To navigate to the folder where your files are, use the CD command followed by the full path to your files in quotation marks. For example, if they are in "C:\Users\Somebody\Documents and Settings\My Documents\PDFs\", then type:


cd "C:\Users\Somebody\Documents and Settings\My Documents\PDFs\"


I think an alternative would be to simply create a batch file inside the same directory as the PDF and run the batch file from there.


OK, now I think you'll have to use the complete path to the Ghostscript executable, which you'll have to find for yourself. I'm going to assume it's "C:\Program Files (x86)\gs\gs9.00\bin\gswin32c.exe" but you'll need to double check that on your own computer. If you're using a different version of ghostscript, or a 32 bit version of Windows 7, it'll be somewhere else. Also make sure you use gswin32c.exe and not gswin32.exe, which is different.


Now find out exactly how many pages are in this PDF. I would know how to do that with a command in Linux, but I have no clue in Windows. I'm going to suppose it's 3002.


Now type in this command at the Command prompt (all one line):


FOR \L %G IN (1,1,3002) DO "C:\Program Files (x86)\gs\gs9.00\bin\gswin32c.exe" -dBATCH -dSAFER -dNOPAUSE -dFirstPage=%G -dLastPage=%G -sDEVICE=pswrite -o hello%G.ps hello.pdf


That's my best guess. But hopefully someone who actually uses Windows can confirm that this works.


For epsfiles instead change -sDEVICE#pswrite to -sDEVICE=epswrite and change hello%G.ps to hello%G.eps.


If you're using a batch file instead, use %%G instead of %G everywhere, change the ='s to #'s.


If "hello.pdf" is changed to something with spaces in it, use quotation marks, "hello world.pdf". Same for "hello%G.ps".




On GNU/Linux (or Mac OS X), the corresponding command would be:


for G in {1..3002} ; do gs -dSAFER -dBATCH -dNOPAUSE -dFirstPage=$G -dLastPage=$G -sDEVICE=pswrite -o "hello$G.ps" "hello.pdf" ; done


to have it autocalculate the number of pages to do, if you have seq and the poppler utilities installed (which come by default on Ubuntu, I believe), you could use:


for G in $(seq 1 $(pdfinfo academicregs.pdf | sed -n 's/Pages:[^0-9]*\([0-9]*\).*/\1/p')) ; do gs -dSAFER -dBATCH -dNOPAUSE -dFirstPage=$G -dLastPage=$G -sDEVICE=pswrite -o "hello$G.ps" "hello.pdf" ; done


Those I've tested and they work.


Comments

Popular Posts

keyboard - Is there any utility/method to change Windows key bindings to type rare chars to currently empty bindings?

I'm currently typing this post with my windows XP machine and (Spanish) keyboard, and I'd like to add some extra symbols to my text. I could open the "char map" windows utility, look for the desired symbols, and paste them. But I'd like something quickier. For example, when I'm using my OSX Mac at work, I can easily add a ©, ™, ® or similar symbols, just pressing some weird ALT-GR + G / H / J, key combinations. In my (Spanish) keyboard mapping, these combinations are empty, as they don't produce any char at all, which, on the other hand, is perfectly normal and desirable. So, I thought: Why couldn't I add some extra key mappings on top of my currently empty ALT-GR + G/J/H Keys in my Spanish keyboard, and thus, being able to quickly type these special symbols? So that's my question: Is there any utility/method to achieve that effect under windows? (My version is XP). I've even googled this for some time but no luck. I've been a long term Hot...

virtualization - How to select paravirtualization interface in VirtualBox?

Given a windows 8 host system (Intel Core i5) and a Linux Fedora host, I would like to determine the optimal setting for the paravirtual interface. Options are none Default Legacy minimal Hyper-V KVM This page suggest the selection is only based on the guest system: The biggest change in VirtualBox 5.0 is the introduction of paravirtualization support, bringing higher performance and time-keeping accuracy to supported guest operating systems (Hyper-V on Windows and KVM on Linux). Is that correct? Answer The VirtualBox Manual , in the section titled Paravirtualization providers explains very clearly when each should be used (emphasis added): Minimal: Announces the presence of a virtualized environment. Additionally, reports the TSC and APIC frequency to the guest operating system. This provider is mandatory for running any Mac OS X guests. KVM: Presents a Linux KVM hypervisor interface which is recognized by Linux kernels starting with version 2.6.25. VirtualBox's implementati...

Desktop reboots itself on sleep or hibernate

I have been using an ASUS M2NPV-VM motherboard for main home desktop workstation, operating Windows Vista x64. This computer has right from day one not been able to enter hibernate or standby; after Windows performs its final actions and brings the machine down, it would automatically revive itself for a reboot. Updating to the second latest BIOS (1201)has not helped (the latest BIOS revision would induce video refresh problems rendering it unusable). I have been reading related discussions on incidents similar to mine to no avail of a true workable solution. They appear to be more speculative guesses rather than actual knowledge on the inner workings of motherboard hardware. Does anybody have any electronic engineering experience on PC energy-saving standards to provide a more informed opinion how to go about getting this to work? More stories: this motherboard could not even reboot properly the first thing i used it. It was due to refresh rate of the onboard GPU, which had no influe...

security - How is Linux not prone to viruses, malware and those kinds of things?

How is Linux protected against viruses? This question was a Super User Question of the Week . Read the blog entry for more details or contribute to the blog yourself Answer Well, it factually is not... it's just less subject to hackers developing viruses that target Linux systems. Consumer grade computers usually run on Windows and thus, when targeting a wide audience, Windows is the way to go. Don't misunderstand Linux and viruses, there definitely ARE Linux viruses. Some distros have additional protection layers such as SELinux (See here ) in Ubuntu for example. Then there's the default firewall and the fact that alien files don't automatically have permission to be executed. Specific execution permission has to be granted before execution is possible. (See here ) Then there are several other factors that make Linux a hard place to be for viruses usually non-root users on linux systems have no to little executable files at their disposal that would allow for virus...