Tão transparente que eu não consigo pegá-lo… Usando o Rghost para emular o comando ghostscript como seria na impressora virtual
como um rubi newb eu estive em uma pequena caça fantasma que você pode ser de alguma ajuda
Eu li muito e foi dito que a melhor maneira de fazer com que esses sorrateiros estivessem usando um script: ghostscript.
Estou tentando executar o comando ghostscript que eu executo em uma impressora virtual, mas no contexto de um arquivo ruby (sapatos):
Meu comando é:
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 -
Se eu apenas colocar esse comando dentro de um arquivo de lote e definir esse lote como o programa a ser chamado para o redirecionamento de porta na impressora virtual, tudo bem, escrevendo o arquivo temp.pdf. O problema com esta solução são na verdade dois:
Não muito secoo arquivo exe não é executadomeu 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
Então, se não é DRY e os morcegos não parecem estar ajudando, não faz sentido procurar por fantasmas aqui. Nós todos sabemos que para pegar um fantasma, deve ser seco!
Então eu fui em direção a Rghost: Revelar fantasmas é o verdadeiro significado.
O contexto em que eu chamo isso:
Minha fonte de aplicativos de sapatos:
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 -"
Estou começando a sentir frio, mas nenhum arquivo fantasma está aparecendo ...
Alguma idéia de como pegar esse?
Eu também estou pensando em usar algo como
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 -")
mas parece que não funciona: S ... O que eu posso estar fazendo errado?