我遇到一个问题,我有一个自定义虚拟打印机,它接受一个ps文件,然后将其转换为PDF
以下是代码和选项
gvi = new GhostscriptVersionInfo(sDLLPath);
//proc = new Ghostscript.NET.Processor.GhostscriptProcessor(gvi);
List<string> switches = new List<string>();
String outName = "PrintedDocument.pdf";
switches.Add("-q");
switches.Add("-sDEVICE=pdfwrite");
switches.Add("-dBATCH");
// switches.Add("-dNOPAUSE");
// switches.Add("-dNOPROMPT");
switches.Add(@"-dPDFSETTINGS=/prepress");
switches.Add("-dHaveTrueTypes=true");
switches.Add("-dEmbedAllFonts=true");
switches.Add("-dSubsetFonts=false");
// switches.Add("-c \".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams\"");
switches.Add(@"-o" + outName);
switches.Add("-f" +psFilename );
问题是如果我打印的PDF非常好,因为我的打印机驱动程序只有在将pdf ps文件转换回pdf时才会看到postscript我失去了所有的搜索功能。是否有任何标志或其他任何我可以做的事情,因为我没有办法捕获文件名并确定它是否是打印前的PDF格式。在一个理想的世界中,我只能在转换为postscript之前查看文件名,但我没有这个选项,因为虚拟打印机驱动程序只不过是一个用于删除ps的映射打印机端口。