# the ImageMagick's `convert` binary. Used to generate attachment thumbnails.
#imagemagick_convert_command:
- # Absolute path (e.g. /usr/bin/gs, c:/ghostscript/gs.exe) to
+ # Absolute path (e.g. /usr/bin/gs, c:/ghostscript/gswin64c.exe) to
# the `gs` binary. Used to generate attachment thumbnails of PDF files.
#gs_command:
extend Redmine::Utils::Shell
CONVERT_BIN = (Redmine::Configuration['imagemagick_convert_command'] || 'convert').freeze
- GS_BIN = (Redmine::Configuration['gs_command'] || 'gs').freeze
+ GS_BIN = (
+ Redmine::Configuration['gs_command'] ||
+ ('gswin64c' if Redmine::Platform.mswin?) ||
+ 'gs'
+ ).freeze
ALLOWED_TYPES = %w(image/bmp image/gif image/jpeg image/png application/pdf)
# Generates a thumbnail for the source image to target
def self.gs_available?
return @gs_available if defined?(@gs_available)
- if Redmine::Platform.mswin?
+ begin
+ `#{shell_quote GS_BIN} -version`
+ @gs_available = $?.success?
+ rescue
@gs_available = false
- else
- begin
- `#{shell_quote GS_BIN} -version`
- @gs_available = $?.success?
- rescue
- @gs_available = false
- end
end
logger.warn("gs binary (#{GS_BIN}) not available") unless @gs_available
@gs_available