在 .net 中格式化字符串以使用 Foxit 打印 pdf 文件 reader

Formatting a string in .net for printing a pdf file with Foxit reader

我需要有关在 C# 中格式化字符串的帮助。简单的一个,但无法理解我的头脑。

我有一个 foxit reader,它可以读取 .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"   

我们有命令行打印,这是 working,当我们给出这个命令时:

/t "C:\EDR Parser\EDR16-05-26_10-56_non_Zero.pdf" Companyhi-spdSupply

这似乎为我产生了正确的输出:

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\EDR16-05-27_09-07_Zero.pdf" Comapnyhi-spdSupply

看起来你在不需要的时候试图转义“/”,并且你没有在文件名周围添加嵌入的引号“”

我还不能评论,但试试这个:

删除 //t 中多余的 '/' 您不需要转义斜杠字符。

commandLine.Arguments?  " /t C:\EDR Parser\EDR\2016-05-27_09-07_Zero.pdf Comapnyhi-spdSupply"

不用太花哨,如果commandline.Arguments就拿

commandLine.Arguments = @" /t """  + @mergedPDF.destinationfile.Replace("\\", "\") + @""" " + PrinterName;

输出字符串是

/t "C:\EDR Parser\EDR16-05-27_09-07_Zero.pdf" Companyhi-spdSupply