我使用Python.NET为iText.net ()创建包装器。
dll名为itext.kernel.dll,python脚本位于所有itext的samne文件夹中。
使用Jetbrain dotPeek,我看到itext.kernel有各种名称空间;命名空间iText.Kernel.Pdf是我所需要的,特别是公共类PdfReader。
下面是我正在做的事情(来自上的文档):
import clr
clr.AddReference('itext.kernel')
sys.path.append(os.getcwd()) # the script is currently in the dll folder
from iText.Kernel.Pdf import PdfReader
但这给我带来了一个"ModuleNotFoundError: No模块名为'iText'“的错误。
我不明白这是怎么回事,谁能给我指明正确的方向吗?谢谢。
编辑:我可以很好地导入和使用iTextSharp,似乎iText7有一些不同的地方。
发布于 2020-07-16 15:01:14
好吧,长话短说,我真的想让这件事成功.解决了我的问题!
我试着使用旧的构建,我发现构建7.0.8很好。
我将其与使用dotPeek的Build7.1.11(我遇到问题的那个)进行了比较,并注意到它有一些引用,即BouncyCastle.Crypto、Common.Logging和Common.Logging.Core。
我确实把它们放进了项目文件夹,但还是没有骰子.直到我注意到我使用的是BouncyCastle.Crypto build 1.8.6,而itext.kernel是指build 1.8.5!用那个版本代替解决了这个问题。
基本上,较新的iText7构建有3个引用的库,它们必须存在于完全相同的版本中(至少要被pythonnet所取代)。
我希望这能帮助和我有类似问题的人。
https://stackoverflow.com/questions/62875596
复制相似问题