]> source.dussan.org Git - redmine.git/commitdiff
PDF thumbnails support on Windows (#32898).
authorGo MAEDA <maeda@farend.jp>
Tue, 25 May 2021 02:36:21 +0000 (02:36 +0000)
committerGo MAEDA <maeda@farend.jp>
Tue, 25 May 2021 02:36:21 +0000 (02:36 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@21008 e93f8b46-1217-0410-a6f0-8f06a7374b81

config/configuration.yml.example
lib/redmine/thumbnail.rb

index 842f69e6ba7588efd0d56bd8aa04e957131c43a6..8e350228e60d7cf514ad45ee117124abb270d933 100644 (file)
@@ -180,7 +180,7 @@ default:
   # 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:
 
index 4bee4085a35a32e085ec05ed34ec8b2d84197ebc..bb5c0ac060a734124e60ebe356dcebe654d75262 100644 (file)
@@ -24,7 +24,11 @@ module Redmine
     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
@@ -73,15 +77,11 @@ module Redmine
     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