我正在使用Intranet门户网站,其中有许多子系统链接到门户网站。现在门户是在.net 4.0上新开发的。我在这个门户中使用了itextsharp版本5.5.9。
Pdf生成在项目中运行良好,但问题是当我将旧子系统与此门户合并时,在itextsharp版本中存在冲突,因为有很多东西不支持itextsharp 5.5.9 版本例如:
HeaderFooter 页脚=新的HeaderFooter(新词组(
myParagraph。的参考setAlignment
iTextSharp.text。表 tableh = new iTextSharp.text.Table(11);
单元格 csr =新单元格(sr);
以上是一些在itextsharp较新版本中不支持的示例。
超过5个子系统正在使用itextsharp旧版本。
由于在门户网站中有很多子系统要合并,我希望能够使用这两种版本的itextsharp。
有可能吗?
请帮助
由于
答案 0 :(得分:1)
您的问题有不同的解决方案。
解决方案#1:升级到最新版本而不是5.5.9
您不能将5.5.9与旧版本一起使用,因为所有这些版本都使用相同的软件包名称。会有命名冲突(正如您所经历的那样)。
然而,用于C#的iText 7是对iTextSharp的完全重写,因此我们选择了不同的包名。在旧版本旁边使用iText 7时不会发生冲突。
这意味着您必须重写当前版本。
解决方案#2:重写旧代码,以便与iText 5.5.9配合使用。
旧应用程序should not be used in production environments使用的代码,因此您确实应该升级这些应用程序。
HeaderFooter
课程被放弃,转而使用页面事件。 Table
和Cell
类已替换为PdfPTable
和PdfPCell
。我不了解myParagraph.SetAlignment()
,但如果它现在myParagraph.Alignment
,我就不会感到惊讶。
结论:"解决方案"需要相当多的工作,但贵公司似乎长时间使用iTextSharp,所以无论如何都需要升级时间。