0

我正在使用 WCF 服务来创建一个 pad 文件,并希望在创建的 pdf 上设置图像。下面是我的代码。它给了我错误“对象引用未设置为对象实例”

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

我尝试的另一件事,它给了我错误:找不到文件'C:\ Program Files \ Common 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 上设置图像的任何想法。谢谢

4

2 回答 2

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")

于 2013-04-09T06:25:29.023 回答
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();
于 2013-04-09T06:28:35.903 回答