0

C#.Simple で文字列をフォーマットする際に助けが必要ですが、頭がぼやけません。

.pdf ファイルを読み取り、ユーザーが選択したプリンターに印刷する foxit リーダーがあります。

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
4

3 に答える 3

1

commandline.Arguments がそれを取る場合、派手になりすぎずに

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

出力文字列は

/t "C:\EDR Parser\EDR\2016-05-27_09-07_Zero.pdf" Companyhi-spdSupply
于 2016-05-27T14:34:21.263 に答える
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

必要のないときに "/" をエスケープしようとしたようで、\" でファイル名の周りに埋め込まれた引用符を追加していませんでした。

于 2016-05-27T14:28:57.737 に答える
0

まだコメントできませんでしたが、これを試してみてください:

スラッシュ文字をエスケープする必要がない場合は、余分なもの'/'を削除してください。//t

commandLine.Arguments?  " /t C:\\EDR Parser\\EDR\\2016-05-27_09-07_Zero.pdf Comapnyhi-spdSupply"
于 2016-05-27T14:30:13.843 に答える