在 python 中使用 IornPdf dll
use IornPdf dll in python
我正在尝试将 IornPdf dll (https://ironpdf.com/) 集成到 python。
我正在使用 Python.Net (pip install pythonnet) 在 python.
中加载 dll
I've kept the IronPdf.DLL in (C:\Users<my-user>\Documents).
我已经在 64 位版本的 python3.7 和 32 位版本的 python3.9(同一系统)中尝试了以下代码。
两种情况下都出现 FileNotFoundException。
D:\>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
import clr
import sys
clr.AddReference("System.Windows.Forms") // Its working
sys.path.append(r'C:\Users\<my-user>\Documents')
clr.AddReference(r"C:\Users\<my-user>\Documents\IronPdf")
clr.AddReference("C:\Users\<my-user>\Documents\IronPdf")
clr.AddReference("C:\Users\<my-user>\Documents\IronPdf.DLL")
clr.AddReference("IronPdf.DLL")
clr.AddReference("IronPdf.dll")
clr.AddReference("IronPdf")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
System.IO.FileNotFoundException: Unable to find assembly 'IronPdf'.
at Python.Runtime.CLRModule.AddReference(String name)
>> C:\Users\a\AppData\Local\Programs\Python\Python39-32\python
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:04:37) [MSC v.1929 32 bit (Intel)] on win32
>> same error here too
我创建了一个示例 dll,并且 AddReference 工作正常,但无法使用其中定义的 class 和函数。
using System;
namespace MathLibrary
{
public class Class1
{
......
}
}
D:> python
import clr
import sys
sys.path.append('path to the dll')
clr.AddReference("MathLibrary")
<System.Reflection.RuntimeAssembly object at 0x000001C7B5BAE708>
from MathLibrary import Class1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'MathLibrary
'
也许 windows 安全服务阻止了 dll.. 它对我有用!
Windows 无法从“外部资源”加载。为了解决这个问题,我做了:
- 右键单击 .dll
- “属性”
- 在“常规”下,单击“取消阻止”
还要确保主机上存在正确的 .Net 运行时。
我正在尝试将 IornPdf dll (https://ironpdf.com/) 集成到 python。 我正在使用 Python.Net (pip install pythonnet) 在 python.
中加载 dllI've kept the IronPdf.DLL in (C:\Users<my-user>\Documents).
我已经在 64 位版本的 python3.7 和 32 位版本的 python3.9(同一系统)中尝试了以下代码。
两种情况下都出现 FileNotFoundException。
D:\>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
import clr
import sys
clr.AddReference("System.Windows.Forms") // Its working
sys.path.append(r'C:\Users\<my-user>\Documents')
clr.AddReference(r"C:\Users\<my-user>\Documents\IronPdf")
clr.AddReference("C:\Users\<my-user>\Documents\IronPdf")
clr.AddReference("C:\Users\<my-user>\Documents\IronPdf.DLL")
clr.AddReference("IronPdf.DLL")
clr.AddReference("IronPdf.dll")
clr.AddReference("IronPdf")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
System.IO.FileNotFoundException: Unable to find assembly 'IronPdf'.
at Python.Runtime.CLRModule.AddReference(String name)
>> C:\Users\a\AppData\Local\Programs\Python\Python39-32\python
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:04:37) [MSC v.1929 32 bit (Intel)] on win32
>> same error here too
我创建了一个示例 dll,并且 AddReference 工作正常,但无法使用其中定义的 class 和函数。
using System;
namespace MathLibrary
{
public class Class1
{
......
}
}
D:> python
import clr
import sys
sys.path.append('path to the dll')
clr.AddReference("MathLibrary")
<System.Reflection.RuntimeAssembly object at 0x000001C7B5BAE708>
from MathLibrary import Class1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'MathLibrary
'
也许 windows 安全服务阻止了 dll.. 它对我有用!
Windows 无法从“外部资源”加载。为了解决这个问题,我做了:
- 右键单击 .dll
- “属性”
- 在“常规”下,单击“取消阻止”
还要确保主机上存在正确的 .Net 运行时。