2013-04-09 1 views
0

WCF 서비스에서 패드 파일을 만드는 중이며 만든 PDF에 이미지를 설정하려고합니다. 다음은 제 코드입니다. 그것은 다른 것은 내가 시도itextsharp를 사용하여 Pdf에 이미지 설정

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

"개체 참조가 개체의 인스턴스로 설정되지 않았습니다"나에게 오류를 제공하고 그것은 나에게 오류를 제공합니다 : 파일을 찾을 수 없습니다 'C : \ 프로그램 파일 \ 공용 Files \ Microsoft Shared \ DevServer을 \ 10.0 \ suc.png : 아래는 다른 코드입니다

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

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

이 오류를 해결하고 pdf에서 이미지를 설정하는 방법에 대한 아이디어가 있습니다. 감사

답변

0

당신이 후에 당신이 ASP.NET에서 서비스를 호스팅하는 경우, Path.Combine(AppDomain.BaseDirectory, "App_Data\\suc.png") 같은 이미지 DLL의 경로를 얻을하는 데 사용할 수 있습니다, 주요 DLL에 디렉토리를 얻을 수 AppDomain.BaseDirectory을 사용할 수 있으며, DLL이에 Bin 디렉토리 당신은 답장을 Path.Combine(AppDomain.BaseDirectory, "..\\App_Data\\suc.png")

+0

덕분에 같은 상대 경로를 사용할 수 있지만 그것은 나에게 오류를 제공합니다 : "개체 참조가 비 정적 필드, 메서드 또는 속성에 필요한 'System.AppDomain.BaseDirectory.get' " – Hitesh

+0

'BaseDirectory'는'AppDomain' 클래스를위한 속성으로, 현재'AppDomain'을 얻으려면'AppDomain.CurrentDomain'을 사용할 수 있습니다. 그래서 최종 코드는'AppDomain.Curre ntDomain.BaseDirectory' – outcoldman

+0

답장 보내 주셔서 감사합니다. 이제는 효과가 있습니다. 당신은 내 많은 시간을 절약 할 수 있습니다. 다시 감사합니다 ... – Hitesh

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