我正在做一个基于java的项目。java程序将运行命令来调用python脚本。
python脚本用于以表格形式读取pdf文件并返回数据。
当我在终端(pytho3 xxx.py)中直接调用python脚本时,我尝试了python脚本是工作的
但是,当我试图从java调用python脚本时,它将抛出错误:
Error from tabula-java:Error: File does not exist
Command '['java', '-Dfile.encoding=UTF8', '-jar', '/home/ubuntu/.local/lib/python3.8/site-packages/tabula/tabula-1.0.5-jar-with-dependencies.jar', '--pages', 'all', '--lattice', '--guess', '--format', 'JSON', '/home/ubuntu/Documents/xxxx.pdf']' returned non-zero exit status 1.
我尝试以完整路径调用脚本,以完整路径提供pdf文件,尝试sys。append(python脚本路径)
,两者都不起作用。
我尝试在java中调用tabla命令,即java-Dfile。encoding=UTF8-jar/home/ubuntu/。local/lib/python3。8/站点包/tabla/tabla-1.0.5-jar-with-dependencies。jar“文件路径”
它的工作,可以读取文件。然而,返回java调用python脚本是不可行的
有什么办法解决这个问题吗?在java程序中使用tabla不适合我的情况
既然你提到你提到你使用java作为基本代码,使用python来阅读PDF,最好完全使用java来获得更高效的代码。为什么啊?因为已经有工具为你准备好了。绝对没有必要努力将一种语言与另一种语言联系起来。
代码:
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;
/**
* This class is used to read an existing
* pdf file using iText jar.
*/
public class PDFReadExample {
public static void main(String args[]){
try {
//Create PdfReader instance.
PdfReader pdfReader = new PdfReader("D:\\testFile.pdf");
//Get the number of pages in pdf.
int pages = pdfReader.getNumberOfPages();
//Iterate the pdf through pages.
for(int i=1; i<=pages; i++) {
//Extract the page content using PdfTextExtractor.
String pageContent =
PdfTextExtractor.getTextFromPage(pdfReader, i);
//Print the page content on console.
System.out.println("Content on Page "
+ i + ": " + pageContent);
}
//Close the PdfReader.
pdfReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
我试图从一系列PDF文件中提取表格,但无法使表格工作。我一直试图通过Windows操作系统上的Jupyter笔记本使用它。不幸的是,我也得到了同样的结果 “FileNotFoundError” 每次我尝试使用read_PDF()。 从我到目前为止在网上发现的情况来看,这个错误似乎是在试图运行Tabula java文件时产生的。我已经正确安装了java。 在此方面的任何帮助都将不胜感激。 这是我试图
目录结构如下: 运行测试命令 unittest 会读取所有 test 开头的 .py 文件,但是我的两个 test_meta.py 和 test_sample.py 居然没有被读取? 但是写成 python -m unittest testing.test_sample 和 python -m unittest testing.test_meta 是可以的,直接 python -m unittes
可以使用FileReader直接读取文本文件 我们为什么需要使用InputStream方法
我有一个Java程序来调用python脚本。我使用了exec方法。请在下面找到代码片段: Python程序(从维基百科收集一部分文本)单独运行时,可以提供适当的输出。当从Java调用时,我无法从python程序获得完整的输出。 我使用ready()方法检查了BufferedReader对象的状态(如本文所述,代码进入了无限循环)。 我认为其他人也面临着类似的问题-https://stackover
问题内容: 我从PHP脚本执行Python脚本时遇到问题。我的客户端使用Bluehost,因此我使用在此描述的easy_install方法为Python安装了第三方模块(numpy):https ://my.bluehost.com/cgi/help/530?step = 530 为了演示我的问题,我创建了两个python脚本和一个PHP脚本。 hello.py包含: hello-numpy.py
我想在java8中读取文本文件,我得到错误“类型不匹配:无法从FileReader转换到Reader”。如果我将Reader类更改为FileReader,则会出现错误“构造函数BufferedReader(FileReader)未定义”,我的语句是 请建议