进程无法访问文件“\ path”因为这是另一个过程 [英] The Process cannot access the file "\path" as it is being another process

查看:89
本文介绍了进程无法访问文件“\ path”因为这是另一个过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



在我的项目中,我正在访问文件本地文件并将其复制到另一个文件,然后对其进行水印,但在复制时我收到IO异常无法访问文件我的代码可以告诉我什么是问题,



Hi,
In my Project I am accessing a file local file and copying it to another file then watermarking it, but while copying I am getting the IO Exception "Can’t Access the file" can any body tell me what would be the problem is my code is,

protected void AddWaterMark(string file)
        {
            string watermark = "Confidential Document Printed on " + DateTime.Now.ToString();
            const int emSize = 40;
            try
            {
                // Get a fresh copy of the sample PDF file
                string filename = @"E:\Rajesh_Kumar\Application\Valuation\ExamManagement\ExamManagement\FileUpload\"+file;
                string filename1 =@"E:\Rajesh_Kumar\Application\Valuation\ExamManagement\ExamManagement\FileUpload\" + file; ;
                bool b = true;// File_lock(filename);
                if(b==true)
                {
                    File.Copy(Path.Combine(@"E:\Rajesh_Kumar\Application\Valuation\ExamManagement\ExamManagement\Uploads",
                    filename), Path.Combine(@"E:\Rajesh_Kumar\Application\Valuation\ExamManagement\ExamManagement\Uploads ",
                    filename1), true);
                // Create the font for drawing the watermark
                XFont font = new XFont("Times New Roman", emSize, XFontStyle.BoldItalic);
                // Open an existing document for editing and loop through its pages
                PdfDocument document = PdfReader.Open(filename);
                // Set version to PDF 1.4 (Acrobat 5) because we use transparency.
                if (document.Version < 14)
                    document.Version = 14;
                for (int idx = 0; idx < document.Pages.Count; idx++)
                {
                    //if (idx == 1) break;
                    PdfPage page = document.Pages[idx];
                    // Variation 1: Draw watermark as text string
                    // Get an XGraphics object for drawing beneath the existing content
                    XGraphics gfx = XGraphics.FromPdfPage(page, XGraphicsPdfPageOptions.Prepend);
                    // Get the size (in point) of the text
                    XSize size = gfx.MeasureString(watermark, font);
                    // Define a rotation transformation at the center of the page
                    gfx.TranslateTransform(page.Width / 2, page.Height / 2);
                    gfx.RotateTransform(-Math.Atan(page.Height / page.Width) * 180 / Math.PI);
                    gfx.TranslateTransform(-page.Width / 2, -page.Height / 2);
                    // Create a string format
                    XStringFormat format = new XStringFormat();
                    format.Alignment = XStringAlignment.Near;
                    format.LineAlignment = XLineAlignment.Near;
                    // Create a dimmed red brush
                    XBrush brush = new XSolidBrush(XColor.FromArgb(128, 255, 0, 0));
                    // Draw the string
                    gfx.DrawString(watermark, font, brush,
                      new XPoint((page.Width - size.Width) / 2, (page.Height - size.Height) / 2),format);
                }
                // Save the document...
                document.Save(filename);
                // ...and start a viewer
                Process.Start(filename);
                File.Exists(filename);
                }
            }
            catch(Exception ex)
            {
                ClientMessaging(ex.Message);
            }           
        }

推荐答案

你好,



请在打开文档前关闭文档。例如

Hello,

Please close your document before open it. e.g.
// Save the document...
document.Save(filename);
//Close the document
document.Close(filename);
// ...and start a viewer
Process.Start(filename);



谢谢


Thanks


这篇关于进程无法访问文件“\ path”因为这是另一个过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆