Настолько прозрачный, что я не могу его поймать... Использование Rghost для эмуляции команды ghostscript, как на виртуальном принтере
Как рубиновый новичок, я был на небольшой охоте на призраков, что вы, возможно, окажете некоторую помощь
Я много читал, и мне сказали, что лучший способ заставить этих подлых парней использовать скрипт: ghostscript.
Я пытаюсь выполнить команду ghostscript, которую я запускаю на виртуальном принтере, но в контексте файла ruby (shoes):
Моя команда:
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 -
Если я просто поместил эту команду в командный файл и установил этот пакет как программу, вызывающую внутри, для перенаправления портов на виртуальном принтере, то все прошло отлично, записав файл temp.pdf. Проблема с этим решением на самом деле две:
- Не очень сухой
- исполняемый файл не выполняется
мой 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
Так что, если это не СУХОЙ и летучие мыши не помогают, нет смысла искать здесь призраков. Мы все знаем, что чтобы поймать призрака, это должно быть СУХОЙ!
Поэтому я направился в сторону Rghost: "Призрак - это истинное значение".
Контекст, где я это называю:
Мой источник приложения обувь:
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 -"
Я начинаю чувствовать себя холодно, но никакой призрачный файл не появляется...
Есть идеи как поймать этого?
Я также рассматриваю возможность использования чего-то вроде
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 -")
но это просто не работает:S... Что я могу делать не так?