2010-07-06 17 views
8

मैं एएसपी.नेट एमवीसी अनुप्रयोग में पीडीएफशर्प का उपयोग कर रहा हूं। मैं एक छवि जोड़ना चाहता हूं लेकिन इससे कोई फर्क नहीं पड़ता कि मैंने इसे किस निर्देशिका में रखा है, ऐसा लगता है कि ऐसा नहीं लगता है। मैं इस तरह कोड है के रूप में मैं नमूना आवेदनपीडीएफशर्प छवि नहीं ढूंढ सकता (छवि नहीं मिली)

Section section = document.AddSection(); 
Image image13 = section.AddImage("../../images/logo.png"); 

कोई फर्क नहीं पड़ता निर्देशिका मैं में इस छवि को डाल दिया, जब पीडीएफ उत्पन्न हो जाता है, मैं देख रहा हूँ पीडीएफ कहा, "पर एक त्रुटि छवि नहीं मिला कॉपी करने के लिए कोशिश कर रहा हूँ "

क्या किसी और ने इस मुद्दे को देखा है?

उत्तर

9

यह एक पूर्ण पथ की तलाश में हो सकता है?

मैं एक asp.net MVC अनुप्रयोग में pdfsharp उपयोग कर रहा हूँ

Image image13 = section.AddImage(Server.MapPath("~/images/logo.png")); 
+1

मुझे एक ही समस्या थी। समस्या यह है कि जब एक asp.net mvc को डीबग करते हैं, तो librairies को दूरस्थ निर्देशिकाओं में लोड किया जाता है, जैसे C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ अस्थायी ASP.NET फ़ाइलें \ root \ 34f2a404 \ 3b92b98b \ assembly \ dl3 \ f8107a2b \ 16f99150_1bfcce01 -> Server.MapPath का विचार बहुत अच्छा है: यह डीबग और रिलीज वातावरण दोनों पर काम करेगा। –

4

की कोशिश करो।

बीटीडब्ल्यू: आप पीडीएफशर्प का उपयोग नहीं कर रहे हैं, आप माइग्राडोक का उपयोग कर रहे हैं।

माइग्राडोक वर्तमान निर्देशिका से संबंधित छवियों की खोज करता है। एएसपीएक्स पेजों को संकलित किया जाता है और एक अस्थायी निर्देशिका से निष्पादित किया जाता है, न कि प्रोजेक्ट निर्देशिका से। इसलिए सापेक्ष पथ उम्मीद के अनुसार काम नहीं करेंगे।

असेंबली। कोडबेस छवियों का पता लगाने में मदद कर सकता है; विधानसभा। स्थान अस्थायी निर्देशिका इंगित करता है।

असेंबली। कोडबेस का उपयोग कोड में किया जा सकता है जो एएसपी.नेट और .NET के बीच साझा किया जाता है। सर्वर.मैपपाथ का भी उपयोग किया जा सकता है (जैसा कि मार्को द्वारा सुझाया गया है), लेकिन यह केवल एएसपी.नेट में काम करता है।

+2

यह क्यों मतदान किया गया था? – Marko

+0

टीम - मैं अभी भी यह काम नहीं कर सकता। । क्या आप जानते हैं कि किसी ने सफलतापूर्वक यह किया है? – leora

+0

हमने अभी तक एमवीसी के बिना इसका इस्तेमाल किया है। लेकिन यहाँ एक "बयान" है: http://forum.pdfsharp.net/viewtopic.php?p=3833#p3833 –

3

MigraDoc दस्तावेज़ वस्तु एक ImagePath संपत्ति है कि आप निर्देशिका है कि छवियों के लिए खोज की जाएगी (semikola के साथ अलग से एकाधिक निर्देशिका) निर्दिष्ट करने के लिए अनुमति देता है।

छवियों विधानसभा के स्थान के सापेक्ष पाया जा सकता है, तो Assembly.CodeBase विधानसभा पता लगाने के लिए (के रूप में मेरे पहले जवाब में बताया गया) का इस्तेमाल किया जा सकता है।

1

पुराना धागा लेकिन किसी

के लिए उपयोगी हो सकता है

यह मेरे लिए काम किया:

Document doc = new Document(); 
doc.ImagePath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase).Replace("file:\\", ""); 

मैं तो हमेशा कॉपी करने के लिए मेरी छवि सेट और मेरे वेब में बिन निर्देशिका द्वारा अपने रिश्तेदार पथ के साथ यह जोड़ा परियोजना।

+0

यह पूरी तरह से मेरे लिए काम किया !! आप एक जीवन रक्षक है!!! धन्यवाद – user4566715

+0

मुझे यह जोड़ने की ज़रूरत है कि यह वेबफॉर्म परियोजनाओं के लिए बहुत अच्छा काम करता है! – user4566715

संबंधित मुद्दे