我需要帮助格式化C#中的字符串。简单的一个,但不能让我大吃一惊。
我有一个foxit阅读器,它读取.pdf文件并将其打印到用户选择的打印机上。
MergerPDF.destinationfile是文件的位置
PrinterName = @"Companyhi-spdSupply";
commandLine.Arguments = " //t " + mergedPDF.destinationfile + " " + PrinterName;
我们正在尝试从C#代码执行它,这会触发一般语法错误。 这是程序调用语句:
commandLine.Arguments? " //t C:\\EDR Parser\\EDR\\2016-05-27_09-07_Zero.pdf Comapnyhi-spdSupply"
当我们提供此命令时,我们有命令行打印,正常工作:
/t "C:\EDR Parser\EDR\2016-05-26_10-56_non_Zero.pdf" Companyhi-spdSupply
答案 0 :(得分:1)
如果没有gettign太花哨,如果commandline.Arguments将采取它
commandLine.Arguments = @" /t """ + @mergedPDF.destinationfile.Replace("\\\\", "\\") + @""" " + PrinterName;
输出字符串是
/t "C:\EDR Parser\EDR\2016-05-27_09-07_Zero.pdf" Companyhi-spdSupply
答案 1 :(得分:0)
这似乎为我产生了正确的输出:
var PrinterName = "Comapnyhi-spdSupply";
var DestFile = "C:\\EDR Parser\\EDR\\2016-05-27_09-07_Zero.pdf";
var Arguments = " /t \"" + DestFile + "\" " + PrinterName;
Console.WriteLine(Arguments);
输出:
/ t“C:\ EDR Parser \ EDR \ 2016-05-27_09-07_Zero.pdf”Comapnyhi-spdSupply
当您不需要时,您似乎试图逃避“/”,并且没有使用\“
在文件名周围添加嵌入式引号答案 2 :(得分:0)
我还没评论,但试试看:
删除'/'
中的额外//t
你不需要逃避斜线字符。
commandLine.Arguments? " /t C:\\EDR Parser\\EDR\\2016-05-27_09-07_Zero.pdf Comapnyhi-spdSupply"