C# 恢复文本文件中的替换

C# 恢复文本文件中的替换,c#,replace,printing,C#,Replace,Printing,我有一个用于打印标签的模板,我目前正在对模板的可变部分执行Replace(),并按原样打印。 打印后恢复原始模板的最佳方法是什么?手动恢复所有更改?不是先修改模板,而是创建一个我修改、打印和删除的副本 该模板如下所示: data1 : $1 data2 : $2 data3 : $3 data4 : $4 然后将()+打印替换为: string text = File.ReadAllText(filePath); text = text.Replace("$1", textBoxNumOF.T

我有一个用于打印标签的模板,我目前正在对模板的可变部分执行Replace(),并按原样打印。 打印后恢复原始模板的最佳方法是什么?手动恢复所有更改?不是先修改模板,而是创建一个我修改、打印和删除的副本

该模板如下所示:

data1 : $1
data2 : $2
data3 : $3
data4 : $4
然后将()+打印替换为:

string text = File.ReadAllText(filePath);
text = text.Replace("$1", textBoxNumOF.Text);
text = text.Replace("$2", designation);
text = text.Replace("$3", textBoxNumOF.Text.Substring(textBoxNumOF.Text.Length - 4));
text = text.Replace("$4", "1");
File.WriteAllText(filePath, text, UTF8Encoding.UTF8);
PrintDialog pd1 = new PrintDialog();
pd1.PrinterSettings = new PrinterSettings();
EnvoiImpression.SendFileToPrinter(@"Datamax-O'Neil H-4310 (Copie 1)", filePath);

读取模板并将要发送到打印机的输出写入windows临时目录中的临时文件

请参阅以下功能:

        public static string GetTempFile()
        {
            // get temporary path
            var tempPath = Path.GetTempPath();

            // get temporary filename
            string tempFileName = Path.GetRandomFileName();

            //combine 
            return Path.Combine(tempPath, tempFileName);
        }
这样,您就不需要恢复模板,也不需要遵守Windows上临时文件的规则。我建议您记住在程序/方法成功后再次从磁盘删除所有临时文件的文件

功能

EnvoiImpression.SendFileToPrinter(@"Datamax-O'Neil H-4310 (Copie 1)", filePath);

不幸的是,我不知道。但也许还有一个重载,它确实接受流?如果是这样,您可以在中编辑模板,甚至不需要写入磁盘。

读取模板并将要发送到打印机的输出写入windows临时目录中的临时文件

请参阅以下功能:

        public static string GetTempFile()
        {
            // get temporary path
            var tempPath = Path.GetTempPath();

            // get temporary filename
            string tempFileName = Path.GetRandomFileName();

            //combine 
            return Path.Combine(tempPath, tempFileName);
        }
这样,您就不需要恢复模板,也不需要遵守Windows上临时文件的规则。我建议您记住在程序/方法成功后再次从磁盘删除所有临时文件的文件

功能

EnvoiImpression.SendFileToPrinter(@"Datamax-O'Neil H-4310 (Copie 1)", filePath);

不幸的是,我不知道。但也许还有一个重载,它确实接受流?如果是这样,您可以在中编辑模板,甚至不需要写入磁盘。

我会立即尝试,谢谢。你提到的功能是在一个同事做的老项目中找到并使用的,他给我发了一个链接,我会马上试试,谢谢。你提到的功能是在一个同事做的旧项目中找到并使用的,他给我发了一个链接。