Настолько прозрачный, что я не могу его поймать... Использование 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. Проблема с этим решением на самом деле две:

  1. Не очень сухой
  2. исполняемый файл не выполняется

мой 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... Что я могу делать не так?

0 ответов

Другие вопросы по тегам