我嘗試在 python 中使用 tabula-module 并使用以下代碼:
import tabula
file = "input.pdf"
tables = tabula.read_pdf(file, pages = "all", multiple_tables = True)
當我嘗試在 Windows 上運行此代碼時,出現此錯誤:
$ python exampleTabula.py
Error from tabula-java:
java.lang.UnsupportedClassVersionError: technology/tabula/CommandLineApp : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Exception in thread "main"
Traceback (most recent call last):
File "C:\DEV\Python-Diverses\PDFExtract\exampleTabula.py", line 3, in <module>
tables = tabula.read_pdf(file, pages = "all", multiple_tables = True)
File "C:\DEV\.venv\Normal\lib\site-packages\tabula\io.py", line 322, in read_pdf
output = _run(java_options, kwargs, path, encoding)
File "C:\DEV\.venv\Normal\lib\site-packages\tabula\io.py", line 80, in _run
result = subprocess.run(
File "C:\Users\WRSPOL\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 528, in run
subprocess.CalledProcessError: Command '['java', '-Dfile.encoding=UTF8', '-jar', 'C:\\DEV\\.venv\\Normal\\lib\\site-packages\\tabula\\tabula-1.0.5-jar-with-dependencies.jar', '--pages', 'all', '--guess', '--format', 'JSON', 'foo.pdf']' returned non-zero exit status 1.
我檢查了 java 安裝并獲取此資訊:
$ which java
/c/Windows/system32/java
和
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
要在此配置上使用 tabula,我必須做什么?
uj5u.com熱心網友回復:
根據Tabula-py 的https://pypi.org/project/tabula-py/檔案,我猜您需要 Java 8 。我猜Java版本“1.7.0_80”是Java 7。
請嘗試將 Java 版本更新到 8 并重試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/402424.html
標籤:
