Ich verwende PDFsharp in einer ASP.NET MVC-Anwendung. Ich möchte ein Bild hinzufügen, aber egal in welchem Verzeichnis ich es einfüge, es scheint es nicht zu finden. Ich habe Code wie diesen, während ich versuche, die Beispielanwendung
zu kopieren %Vor%Egal in welchem Verzeichnis ich dieses Bild einfüge, wenn das PDF erzeugt wird, sehe ich einen Fehler in der PDF-Datei: Bild nicht gefunden
Hat jemand anderes dieses Problem gesehen?
Ich benutze pdfsharp in einer asp.net mvc-Anwendung.
Übrigens: Sie verwenden nicht PDFsharp, Sie verwenden MigraDoc.
MigraDoc durchsucht die Bilder relativ zum aktuellen Verzeichnis. ASPX-Seiten werden in ein temporäres Verzeichnis und nicht aus dem Projektverzeichnis kompiliert und ausgeführt. Daher werden relative Pfade nicht wie erwartet funktionieren.
Assembly.CodeBase hilft möglicherweise, die Bilder zu finden; Assembly.Location gibt das temporäre Verzeichnis an.
Assembly.CodeBase kann in Code verwendet werden, der von ASP.NET und .NET gemeinsam genutzt wird. Server.MapPath kann ebenfalls verwendet werden (wie von Marko vorgeschlagen), funktioniert aber nur in ASP.NET.
Das MigraDoc Document-Objekt verfügt über eine ImagePath-Eigenschaft, mit der Sie die Verzeichnisse angeben können, die nach Bildern durchsucht werden sollen (mehrere Verzeichnisse mit semikola trennen).
Wenn Bilder relativ zum Speicherort der Assembly gefunden werden können, kann Assembly.CodeBase verwendet werden, um die Assembly zu lokalisieren (wie in meiner früheren Antwort erwähnt).
Tags und Links asp.net-mvc c# pdfsharp