You didn't say why your EPS is 'too big'. Is it the dimensions only, or is it the file size too?
To decide over the best method for scaling down an EPS file one would have to know what the exact nature of the contained PostScript code is.
EPS can contain 2 different types of graphical elements rendered on a page:
- Vector-based elements (including Fonts to display text)
- Raster-based elements (a.k.a. "pixel images")
Some EPS are based on purely one of these two types of content, some contain a mix between both.
If you are sure that your EPS is purely raster data, the the ImageMagick conversion does no harm.
But be aware: ImageMagick cannot handle EPS (nor PostScript or PDF) directly itself. It calls an external 'delegate' to process these input types. This delegate is Ghostscript.
Ghostscript then converts the EPS (or PS or PDF) input into big raster image, covering the complete page (or multiple images for multiple pages if input was PostScript or PDF with more than 1 page).
After this: gone are your vector data and fonts!
Then ImageMagick takes the raster images which Ghostscript created and applies its own processing to it: down-sampling, colorizing, etc. -- whatever you requested via the ImageMagick command line.
If you want again EPS as the output, ImageMagick is not able to re-create vector shapes. Everything inside the EPS now will be pixelated, including fonts. The EPS will just be a small, thin PostScript wrapper around a full-page raster image.
With ImageMagick you could end up in the worst case with
- a file that is much larger in file size than the purely vector-original,
- that has degraded in quality and lost all vectors and fonts at the same time because of the pixelization.
Hence it may offer several advantages to run Ghostscript yourself, not relying on ImageMagick:
You have more command line parameters available to fine-tune the output. (ImageMagick at this stage only knows about the resolution request to pass to Ghostscript, using -density NNN
.)
You could pick a different output format, depending what your final purpose is for the output EPS you want to create from the initial EPS. Maybe it should go into a Word or LaTeX or Libre/OpenOffice document as an illustration? Want to simply print it? Want to convert it into a PNG or JPEG?
- You could even ask for EPS again (running it with the parameter
-sDEVICE=eps2write
with recent releases). This can preserve (most) of the vector elements, including fonts, from the original file into the output EPS.
- You can ask for PDF output (running with
-sDEVICE=pdfwrite
). This also preserves vectors and fonts. And it can be used to include into LaTeX documents directly (no need to convert to image first).
So it all depends on the final purpose of your conversion, how to do it in the most appropriate way. I could give you more specific Ghostscript command line recommendations, would I know your goal.
Update:
After quickly the newly provided sample EPS (see "Clarification" section of OP), I can state the following:
- The so called "EPS" file was created using Adobe Photoshop
- It is composed of various chunks:
- An unidentifiable chunk of garbage bytes at the beginning (
64400 Bytes
)
- A real EPS file, starting after byte offset 64400, composed of:
- a 13 line PostScript header
- 156 lines containing a smaller, embedded preview image (
4874 Bytes
)
- 100 lines containing a hex-encoded ICC Profile (
6749 Bytes
)
- ca. 300 lines of XML metadata by Photoshop (
18746 Bytes
)
- ca. 7200 lines of image raster data, most likely TIFF (
475213 Bytes
)
It looks like all attempts by the OP poster (as well as by the hijacker of the question) to convert this not-quite-so-standard EPS file to another image format (or to a "smaller" EPS) was failing, because the respective process used the embedded 240x240 pixels preview image instead of the embedded main TIFF.
In any case, it looks like the creators of this so-called EPS file should be booking a 'Photoshop and Graphic Formats training course' or similar.
Because if you create an EPS file with a simple black triangle composed of vector paths (which can be described and preserved in less than 20 lines of code containing less than 200 Bytes!) and then save it as a 500+ kB
TIFF to wrap that into an EPS again, you're doing it wrong...
Update 2:
I asked a friend who has access to an Adobe Photoshop CC installation to open the file, to zoom into the triangle, to screenshoot what he sees and to send the shot to me. He did. The zoom level was 500%.
Here it is:

As you can clearly see, even Photoshop's original file is "edgily". And in no way is it 3854x8000 pixels, as the first sentence of the OP states.
If the EPS does not really contain a vector representation of the triangle illustration, there will be no way to avoid that "edgily" outcome when scaling it...
Update 3:
Just to proof my point, that you can have a vector based EPS file in a few dozen lines and a few hundred Bytes, here it is:
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: Kurt Pfeifle (manually)
%%CreationDate: Wed Mar 25, 2015 (16:30 h)
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
% %%BoundingBox: 42 61 121 142
%%BoundingBox: 0 0 240 240
%%EndComments
%%BeginProlog
%%EndProlog
%%BeginSetup
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%EndPageSetup
gsave
42 61 79 81 rectclip
gsave
0 setgray
42.4 85.6 moveto
100.8 141.6 lineto
120.8 61.6 lineto
closepath
42.4 85.6 moveto
eofill
grestore
grestore
showpage
%EOF
(You can easily comment in/out two alternative lines of %%BoundingBox:
settings...)