创建打印并删除文件C#

时间:2017-11-23 09:38:52

标签: c# file printing process

我在打印文件时遇到问题,我正在尝试创建一个文件,打印并删除它..这是我在C#中的代码

 try
            {
                byte[] bytes = Convert.FromBase64String(content);

                File.WriteAllBytes(path, bytes);

                this.debug(adobePath);
                this.debug(path);
                var isLocked = true;

                /*while (isLocked)
                {
                    try{
                        File.ReadAllBytes(path);
                        isLocked = false;
                        this.debug("FILE IS FREED");
                    }
                    catch(Exception)
                    {
                        this.debug("SLEEP");
                        Thread.Sleep(50);
                    }
                }*/

                    Process process = new Process();

                    process.StartInfo.UseShellExecute = false;
                    process.StartInfo.FileName = adobePath;
                    process.StartInfo.Arguments = string.Format("/t {0} \"{1}\"", path, printerName);
                    process.StartInfo.CreateNoWindow = true;
                    process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                    // Stops here without printing the file
                    process.Start();

                    process.WaitForExit();

                    if (!process.HasExited)
                    {
                        process.WaitForInputIdle();
                        process.CloseMainWindow();
                        process.Kill();
                    }

                    this.debug("FINISH");
            }
         catch (Exception ex) 
        {
             this.debug(ex.Message);
         }
            if (File.Exists(path))
            {
                File.Delete(path);
            }

所以问题是我无法打印文件.. 当我尝试没有两个第一行(创建文件)的代码时,基本上我用现有文件尝试这个代码,它工作,我打印出来的文件。 我认为问题可能来自 WriteAllBytes(),但它会创建文件并写入文件然后关闭它,因此文件不再被锁定..所以我不确定从哪里来来了问题! 有任何想法吗?

0 个答案:

没有答案