I am using PDFsharp in an ASP.NET MVC application. I want to add an image but no matter what directory I put it in, it can't seem to find it. I have code like this as I am trying to copy the sample application
Section section = document.AddSection(); Image image13 = section.AddImage("../../images/logo.png");
No matter what directory I put this image in, when the PDF gets generated, I see an error on the PDF saying "Image not found"
Has anyone else seen this issue?
Why is my MVC ViewModel member overridden by my ActionResult parameter?
asp.net mvc migration , forms authentication issue
Keep track of who is on website right now
Unable to access cookie in HttpRequest
Image image13 = section.AddImage(Server.MapPath("~/images/logo.png"));
asp.net mvc 2 web application inside a Web site?
How to pass dyanamic parameters in ajax autocompelete query
MVC building email body
i am using pdfsharp in a asp.net mvc application..BTW: You are not using PDFsharp, you are using MigraDoc.. MigraDoc searches the images relative to the current directory.
MVC2 ViewModel Binding
ASPX pages are compiled to and are executed from a temporary directory, not from the project directory.
Therefore relative paths will not work as expected.. Assembly.CodeBase might help to locate the images; Assembly.Location indicates the temporary directory.. Assembly.CodeBase can be used in code that is shared between ASP.NET and .NET.
Server.MapPath can also be used (as suggested by Marko), but it works in ASP.NET only..
I then set my image to copy always and added it with its relative path by bin directory in my Web project..
Document doc = new Document(); doc.ImagePath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase).Replace("file:\\", "");