So transparent, dass ich es nicht fangen kann

Als Ruby Newb war ich auf einer kleinen Geisterjagd, um Ihnen zu helfen

Ich las viel und erfuhr, dass der beste Weg, um an diese hinterhältigen Leute zu kommen, die Verwendung eines Skripts war: Ghostscript.

Ich versuche, den Ghostscript-Befehl auszuführen, den ich in einem virtuellen Drucker ausführe, aber im Kontext einer Ruby-Datei (Schuhe):

Mein Befehl ist:

C:\Programas\gs\gs9.05\bin\gswin64c.exe -IC:\Programas\gs\gs9.05\lib;C:\Programas\gs\fonts -sDEVICE=pdfwrite -r300 -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -sOutputFile=c:\tempRep\temp.pdf -

Wenn ich diesen Befehl nur in eine Batch-Datei lege und diesen Batch als das Programm festlege, das zum Port-Redirect auf dem virtuellen Drucker aufgerufen werden soll, funktioniert es einwandfrei und schreibt die Datei temp.pdf. Das Problem bei dieser Lösung sind eigentlich zwei:

Nicht sehr trockenDie exe-Datei wird nicht ausgeführt

meine filecreate.bat

C:\Programas\gs\gs9.05\bin\gswin64c.exe -IC:\Programas\gs\gs9.05\lib;C:\Programas\gs\fonts -sDEVICE=pdfwrite -r300 -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -sOutputFile=c:\tempRep\temp.pdf -


c:\tempRep\myapp.exe

Also, wenn es nicht TROCKEN ist und Fledermäuse nicht zu helfen scheinen, ist es sinnlos, hier nach Geistern zu suchen. Wir alle wissen, dass es TROCKEN sein muss, um einen Geist zu fangen!

Also ging ich zu Rghost: Geister enthüllen ist die wahre Bedeutung.

Der Kontext, in dem ich es nenne:

Meine Schuhe App Quelle:

Shoes.setup do
   gem 'rghost'
end

require 'RGhost'

RGhost::Config::GS[:path]= 'C:\\Programas\\gs\\gs9.05\\bin\\gswin64c.exe'

doc=Document.new

doc.render :raw => "-sDEVICE=pdfwrite -r300 -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -sOutputFile=c:\tempRep\temp.pdf -"

Ich fange an, mich kalt zu fühlen, aber es wird keine Geisterdatei angezeigt ...

Irgendwelche Ideen, wie man diesen fängt?

Ich denke auch darüber nach, so etwas zu verwenden

system("C:\Programas\gs\gs9.05\bin\gswin64c.exe -IC:\Programas\gs\gs9.05\lib;C:\Programas\gs\fonts -sDEVICE=pdfwrite -r300 -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -sOutputFile=c:\tempRep\temp.pdf -")

aber es scheint einfach nicht zu funktionieren: S ... Was könnte ich falsch machen?

Antworten auf die Frage(0)

Ihre Antwort auf die Frage