2013-04-09 104 views
0

我正在使用WCF服務創建一個打印文件並且想要在創建的PDF上設置圖像。 以下是我的代碼。它給我的錯誤「對象引用未設置爲一個對象實例」使用itextsharp在PDF上設置圖像

string str = System.Web.HttpContext.Current.Request.MapPath("App_Data/suc.png"); 
Image imgCheckBoxChecked = Image.GetInstance(str); 

其他的事情,我試着和它給我的錯誤:找不到文件「C:\ Program Files文件\ Common Files文件\ Microsoft共享\ DevServer \ 10.0 \ suc.png:下面是我的其他代碼

Image imgCheckBoxChecked = Image.GetInstance("App_Data/suc.png"); 

    cell.AddElement(imgCheckBoxChecked); 
    cell.Colspan = 4; 
    table.AddCell(cell); 

任何有關如何解決這個錯誤和設置PDF圖像的想法。 感謝

回答

0

您可以使用AppDomain.BaseDirectory獲得目錄主要的DLL,在這之後,你可以用它來獲取路徑到您的圖像的dll,像Path.Combine(AppDomain.BaseDirectory, "App_Data\\suc.png"),如果你在ASP.NET主機服務,該dll是Bin目錄可以使用相對路徑一樣Path.Combine(AppDomain.BaseDirectory, "..\\App_Data\\suc.png")

+0

感謝您的答覆,但它給我的錯誤:「對象引用需要非靜態字段,方法或屬性‘System.AppDomain.BaseDirectory.get’ 「 – Hitesh 2013-04-09 06:34:38

+0

'BaseDirectory'是'AppDomain'類的一個屬性,爲了獲得當前'AppDomain'你可以使用'AppDomain.CurrentDomain',所以最終的代碼將會是'AppDomain.Curre ntDomain.BaseDirectory' – outcoldman 2013-04-09 06:56:13

+0

感謝您的回覆。現在它正在工作。您節省了我很多時間。再次感謝... – Hitesh 2013-04-09 07:16:24

0
string pdfPath = "~/PDF/File_1.pdf"; 
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(Server.MapPath("~/image.JPG")); 
img.ScalePercent(100f); 
Document doc = new Document(); 
PdfWriter.GetInstance(doc, new FileStream(Server.MapPath(pdfPath), FileMode.Create)); 
doc.Open(); 
doc.Add(new Paragraph(sb.ToString())); 
doc.Add(img); 
doc.Close(); 
+0

感謝您的回覆..因爲我在使用WCF服務我的代碼位於類文件中,而我找不到server.mappath.and我也嘗試使用字符串str = System。 Web.HttpContext.Current.Request.MapPath( 「App_Data文件/ suc.png」);但它不會打火。 – Hitesh 2013-04-09 06:38:44

相關問題