我正在使用 iTextSharp pdf 创建器,我过去使用它没有问题,但在最新的项目中,当我设置 GetInstance 调用时,我收到错误。我在 Visual Studios C# 中工作
我的代码是:
Document ManagementReportDoc = new Document(PageSize.A4, 15f, 15f, 75f, 75f);
FileStream file = new FileStream(Server.MapPath("~/Pdf/PdfSample") + DateTime.Now.ToString("ddMMyyHHmmss") + ".pdf", System.IO.FileMode.OpenOrCreate);
PdfWriter writer = PdfWriter.GetInstance(ManagementReportDoc, file);
...
Visual Studio 报告“与‘iTextSharp.text.pdf.PdfWriter.GetInstance(iTextSharp.tesxt.Document, System.IO.Stream)’匹配的最佳重载方法有一些无效参数”
我尝试过使用 dll 和类文件,但都没有什么区别。当我添加更多代码(例如“ManagementReportDoc.Open();”)时我收到更多错误“文档”不包含“打开”的定义。我相信我已经声明了正确的使用库。
令人沮丧的是它适用于另外两个项目,但我似乎没有做任何事情让它适用于这些项目。
非常感谢任何帮助。
谢谢
G
感谢 Chris Haas 在评论中回复并基本上为我提供了答案。
使用完全解析的类名解决了错误,所以现在我的代码显示为
iTextSharp.text.Document ManagementReportDoc = new iTextSharp.text.Document(PageSize.A4, 15f, 15f, 75f, 75f);
FileStream file = new FileStream(Server.MapPath("~/pdf/management-report/") + "management-report-" + DateTime.Now.ToString("dd-MMMM-yy") + ".pdf", System.IO.FileMode.OpenOrCreate);
iTextSharp.text.pdf.PdfWriter writer = iTextSharp.text.pdf.PdfWriter.GetInstance(ManagementReportDoc, file); // PdfWriter.GetInstance(ManagementReportDoc, file);
ManagementReportDoc.Open();
这一切似乎都有效。
再次感谢克里斯
对我有用的是确保对我的文件存储库具有完全访问权限的帐户列在 IIS 的应用程序池中,而不是 ApplicationPoolIdentity。每次尝试使用 iTextSharp 获取图像实例时,我的访问总是被拒绝。