I've been using Ghostscript in the command line with
gswin64c sDEVICE=pdfwrite -o out.pdf in.pdf
for a long time now with great success. Ghostscript's location is added to the Path variable setting in Windows 10. And today all of a sudden it stopped to work giving the following error message:
GPL Ghostscript 9.55.0 (2021-09-27)
Copyright (C) 2021 Artifex Software, Inc. All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Error: /undefinedfilename in (sDEVICE=pdfwrite)
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push
Dictionary stack:
--dict:762/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 9.55.0: Unrecoverable error, exit code 1
What I've tried so far
update Ghostscript from 9.54 to 9.55.0
different input file
rename input file
different folder containing the input file
copying the input file to the \gs9.55.0\bin\ folder
running the command line with admin privs
running windows logged in as admin
All to no success and always giving me the same error message. All the files tried are being displayed correctly in any pdf viewer.
What am I doing wrong here? And why suddendly?
Easily done but read the error undefinedfilename in (sDEVICE=pdfwrite)
Whilst not very clear, it thinks you are asking for that file to be processed.
However you should have just like for the -o output file switch added the switch - signal.
Then if there is no IN file the message changes
gswin64c -sDEVICE=pdfwrite -o out.pdf in.pdf
GPL Ghostscript 9.55.0 (2021-09-27)
Copyright (C) 2021 Artifex Software, Inc. All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Error: /undefinedfilename in (in.pdf)
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push
Dictionary stack:
--dict:764/1123(ro)(G)-- --dict:0/20(G)-- --dict:75/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 9.55.0: Unrecoverable error, exit code 1
Just a side note that it can sometimes reduce later issues if you get into the habit of using
gswin64c -sDEVICE=pdfwrite -o"out.pdf" -f"in.pdf"
Related
When converting a PDF to a jpg thumbnail, this error occurs:
/usr/bin/convert '/large/sourcefolder/1383f07adadae238d4f27f188c3a0496/a_named_file.pdf' qqq.jpg
convert: Postscript delegate failed `[ghostscript library 9.25] -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r72x72' '-sOutputFile=/tmp/magick-31299555NM5LlPyTO%d' '-f/tmp/magick-31299wBWMEYcB31Fp' '-f/tmp/magick-31299VUJc3QY8sCs0'': Error: /undefined in 1f7424cb60beea75a472e08293b2ff51a:7:
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 2047 1 3 %oparray_pop 2046 1 3 %oparray_pop 2026 1 3 %oparray_pop 1884 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:956/1684(ro)(G)-- --dict:0/20(G)-- --dict:77/200(L)--
Current allocation mode is local
Current file position is 36
GPL Ghostscript 9.25: Unrecoverable error, exit code 1
# error/ghostscript-private.h/InvokeGhostscriptDelegate/171.
convert: no images defined `qqq.jpg' # error/convert.c/ConvertImageCommand/3235.
Sometimes it does convert, and other times not, it is rather fuzzy.
Ghostscript is found, as it is in the same path as convert.
The used OS is Centos 7.
uname -av
Linux my.example.com 4.15.18-15-pve #1 SMP PVE 4.15.18-40 (Tue, 21 May 2019 17:43:20 +0200) x86_64 x86_64 x86_64 GNU/Linux
I am trying to convert a pdf document ( 95 pages ) to multiple JPEG files, but getting error:
$gm convert -verbose -density 300 TESTIO.pdf +adjoin FOO-%02d.jpg
[ghostscript library] "-q" "-dBATCH" "-dSAFER" "-dMaxBitmap=50000000" "-dNOPAUSE" "-sDEVICE=pnmraw" "-dTextAlphaBits=4" "-dGraphicsAlphaBits=4" "-r300x300" "-sOutputFile=/tmp/gm2BfrxJ" "--" "/tmp/gmWNsJU0" "-c" "quit"Error: /ioerror in --showpage--
Operand stack:
1 true
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1862 1 3 %oparray_pop 1861 1 3 %oparray_pop 1845 1 3 %oparray_pop --nostringval-- --nostringval-- 24 1 95 --nostringval-- %for_pos_int_continue --nostringval-- --nostringval-- 1745 0 9 %oparray_pop --nostringval-- --nostringval--
Dictionary stack:
--dict:1154/1684(ro)(G)-- --dict:1/20(G)-- --dict:76/200(L)-- --dict:76/200(L)-- --dict:106/127(ro)(G)-- --dict:286/300(ro)(G)-- --dict:22/25(L)-- --dict:4/6(L)-- --dict:22/40(L)--
Current allocation mode is local
Last OS error: 28
GPL Ghostscript 8.70: Unrecoverable error, exit code 1
gm convert: Unexpected end-of-file (/tmp/gm2BfrxJ).
Here is the config for GraphicsMagick:
$gm version
GraphicsMagick 1.3.25 2016-09-05 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2016 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.
Feature Support:
Native Thread Safe yes
Large Files (> 32 bit) yes
Large Memory (> 32 bit) yes
BZIP no
DPS no
FlashPix no
FreeType no
Ghostscript (Library) yes
JBIG no
JPEG-2000 no
JPEG yes
Little CMS no
Loadable Modules no
OpenMP yes (200805)
PNG no
TIFF yes
TRIO no
UMEM no
WebP no
WMF no
X11 no
XML no
ZLIB no
Host type: x86_64-unknown-linux-gnu
Configured using the command:
./configure '--prefix=/usr/local' '--with-modules=yes' '--with-libtiff' '--with-jpeg' '--with-gslib'
Final Build Parameters:
CC = gcc -std=gnu99
CFLAGS = -fopenmp -g -O2 -Wall -pthread
CPPFLAGS =
CXX = g++
CXXFLAGS = -pthread
LDFLAGS =
LIBS = -ltiff -ljpeg -lgs -lm -lgomp -lpthread
also:
$ gs -version
GPL Ghostscript 9.20 (2016-09-26)
Copyright (C) 2016 Artifex Software, Inc. All rights reserved.
Firstly, you are using an ancient version of Ghostscript in your GraphicsMagick. I know that version has returned 9.20, but if you look in the error log you posted you will see "GPL Ghostscript 8.70: Unrecoverable error, exit code 1". So your GraphicsMagick installation is using 8.70.
This looks to me like its caused by the fact that all the output files are being sent to the same filename. The switch -sOutputFile=/tmp/gm2BfrxJ will write all the pages to a single file. If you want them to go to multiple files then you need to specify multiple page output, eg -sOutputFile=/tmp/gm2BfrxJ-%d or similar.
I suspect the problem is simply that GraphicsMagick isn't set up to deal with multiple page files like this. Do the conversion one page at a time. Or have Ghostscript render the pages to JPEG for you.
How do you give tell ghostscript to use a "fallback" font if a font can't be found?
When executing this Ghostscript command:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/output.pdf /input_pdf_with_missing_font.pdf
I am receiving this error:
Error: /undefined in findresource Operand stack: --dict:9/18(L)-- C2_0 1 --dict:6/6(L)-- --dict:6/6(L)-- ArialUnicodeMS --dict:11/12(ro)(G)-- --nostringval-- CIDFontObject --dict:8/8(L)-- --dict:8/8(L)-- Adobe-Identity Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1862 1 3 %oparray_pop 1861 1 3 %oparray_pop 1845 1 3 %oparray_pop --nostringval-- --nostringval-- 2 1 3 --nostringval-- %for_pos_int_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- %array_continue --nostringval-- false 1 %stopped_push --nostringval-- %loop_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- %array_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- %loop_continue Dictionary stack: --dict:1149/1684(ro)(G)-- --dict:1/20(G)-- --dict:75/200(L)-- --dict:75/200(L)-- --dict:106/127(ro)(G)-- --dict:286/300(ro)(G)-- --dict:22/25(L)-- --dict:4/6(L)-- --dict:26/40(L)-- Current allocation mode is local Last OS error: 2 GPL Ghostscript 8.70: Unrecoverable error, exit code 1
You need a newer version of Ghostscript (it would help with these sorts of questions if you would state the version in use).
You appear to be using version 8.70 which is now more than 7 years old, the current version is 9.20. The current version ships with a default CIDFont (your PDF file fails to embed a CIDFont, not a Font).
You will have to check the documentation supplied with Ghostscript 8.70 to see how to define substitute resources (see the Ghostscript installation folder and then the 'doc' subfolder), I don't recall if the current method works with such an archaic version. However the current version documentation on CIDFont substitution can also be found here
I took #KenS's advice and installed Ghostscript to 9.20 (I wanted to keep the old version in place for other legacy projects)
Here are the steps (I followed these instructions):
Locate the source package of GS: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases
In my case: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs920/ghostscript-9.20.tar.gz
Run the following commands:
cd /tmp
wget
https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs920/ghostscript-9.20.tar.gz
tar xzf ghostscript-9.20.tar.gz
cd ghostscript-9.20
./configure --prefix=/usr/bin/gs9
make
sudo make install
And to run the new version:
/usr/bin/gs9/bin/gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/some/target/file.pdf /some/source/file.php
And no more font issues!!
During start valgrind prints the following and terminates silently. Why does that happen and what does it mean?
==2758== Memcheck, a memory error detector
==2758== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==2758== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==2758== Command: /usr/local/bin/bp_mat_00
==2758==
==2758== error writing 36 bytes to shared mem /tmp/vgdb-pipe-shared-mem-vgdb-2758-by-root-on-???
This means that valgrind attempts to write to a directory that is already full. See
df -h
However if the directory gets filled at a later stage of valgrind run then valgrind may not print that message, may not terminate, but still may work incorrectly...
I'm trying to use Ghostscript in CentOS. When trying to issue the following Ghostscript command ghostscript -sDEVICE=pcx256 -r150x150 -sOutputFile=OUTPUT_FILE INPUT_PDF I am getting the following error:
ESP Ghostscript 815.02 (2006-04-19)
Copyright (C) 2004 artofcode LLC,
Benicia, CA. All rights reserved.
This software comes with NO WARRANTY:
see the file PUBLIC for details.
Processing pages 1 through 1. Page 1
ERROR: /undefined in --get-- Operand
stack: --dict:8/8(L)--
--dict:8/11(L)-- CS0 --dict:10/10(ro)(G)-- CS0 Execution stack: %interp_exit .runexec2
--nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop
1 3 %oparray_pop 1 3
%oparray_pop --nostringval--
--nostringval-- 2 1 1 --nostringval-- %for_pos_int_continue
--nostringval-- --nostringval-- --nostringval-- --nostringval-- %array_continue --nostringval--
false 1 %stopped_push
--nostringval-- %loop_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- Dictionary stack: --dict:1121/1686(ro)(G)-- --dict:0/20(G)-- --dict:107/200(L)-- --dict:107/200(L)-- --dict:104/127(ro)(G)-- --dict:241/347(ro)(G)-- --dict:20/24(L)-- --dict:4/6(L)-- --dict:21/32(L)-- --dict:1/1(ro)(G)-- --dict:3/5(L)-- --dict:1/1(ro)(G)-- --dict:1/1(ro)(G)-- --dict:1/1(ro)(G)-- --dict:8/11(L)-- Current allocation mode is local Last
OS error: 2 ESP Ghostscript 815.02:
Unrecoverable error, exit code 1
Any help is supper appreciated! I've been Googling all weekend for an answer.
Solved it! I had an older version running and I assumed that yum would automatically get the latest n greatest. Removed old version, installed the most current version by building and installing from source. Done.