问题标签 [tabula]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
184 浏览

python - 限制 Popen() 调用

在初始 Popen 解决之前使用 Popen() 启动太多进程有多大危险?

我正在对一个充满 PDF 的目录进行一些处理。我遍历每个文件并使用外部调用做两件事。

首先,我从基于 Xpdf 的 pdftohtml 工具(pdfminer 太慢)中获得了一个 html 表示。这仅输出第一页:

然后如果满足我的条件(我确定它是正确的文档),我会在其上调用 tabula-extractor 以提取表格。与检查文档相比,这是一个缓慢/长时间运行的过程,并且仅发生在大约 1/20 个文件上。

如果我这样做call(['jruby', 'C:\\jruby-1.7.4\\bin\\tabula', .....]),我将花费很长时间等待提取完成,同时我可以检查更多文件(我有 4 个内核和 16gb 的 ram,而 Tabula 似乎不是多线程的)。

因此,我使用 Popen() 来避免阻塞。

我不关心返回值(tabula 正在创建一个 csv 文件,所以我总是可以在事后查看它是否已成功创建)。这样做意味着我可以继续在后台检查文件并根据需要启动更多的制表过程(同样,只有大约 20 分之一)。

这可行,但它会积压并最终一次运行大量的 tabula 进程。所以我的问题是:这很糟糕吗?它使计算机在其他任何事情上都变慢,但只要它不崩溃并且尽可能快地工作,我并不介意(所有 4 个内核始终处于 100%,但内存使用量不会) t 超过 5.5GB,因此它看起来受 CPU 限制)。

如果它不好,那么改善它的正确方法是什么?有没有一种方便的说法,排队 tabula 进程,所以每个核心总是有 1-2 个运行,但我不想一次处理 30 个文件?

0 投票
1 回答
344 浏览

ruby - 我怎么知道是否安装了 jruby 模块?

我对 Ruby、Rails、Jruby 非常陌生。但我真的很想试试tabula-extractor。我相信我正确安装了它,尽管我不知道如何检查。这是我的脚本,基于他们最初的建议:

这是我运行它时得到的:

我什至不知道如何解释。并不是说找不到 Tabula,只是说有一个“NameError”extractor = Tabula::Extraction::ObjectExtractor.new(pdf_file_path, :all )

我确定我遗漏了一些明显的东西。我什至无法判断是否真的安装了 tabula-extractor。我跑jruby -S gem install tabula-extractor了回来:

这既不是错误也不是成功消息。

0 投票
2 回答
306 浏览

pdf - 从PDF中提取表格的问题

我知道关于这个主题有几个线程,但他们的解决方案似乎都不适合我。我在PDF 文档中有一个表格,我希望能够从中提取信息。我可以将文本复制并粘贴到 textedit 中,它清晰易读但并不真正可用。我的意思是所有文本都是可读的,但数据都由空格分隔,无法区分单元格内文本中的列和空格。

但每当我尝试使用 tabula 或 scraper wiki 之类的工具时,提取的文本都是垃圾。

有没有人能给我任何关于我如何解决这个问题的指示?

0 投票
0 回答
377 浏览

java - 用于文件转换的Java jar

使用 tabula jar 我正在使用以下代码在命令提示符下将 pdf 转换为 csv 文件。

我只能将 pdf 的第一页转换为 csv。但我需要将所有pdf页面转换为csv。通过witch cmd我可以做到这一点。请帮助我。提前致谢

0 投票
0 回答
71 浏览

pdf - Deceptively easy looking PDF conversion that is causing me fits

I have had tons of success using Tabula to convert PDFs to CSV files, but this particular one is causing me all kinds of issues. The file can be found at here.

It seems the multiple row spans is causing Tabula headaches. I would not expect Tabula to perfectly convert the file and I would expect that I would need to do some post-processing cleanup (usually a few sed commands), but I am not even getting close to creating a CSV file that is a starting point. I have tried a spreadsheet, no-spreadsheet, guess, columns, and area with no success. Does anyone have any other ideas about what to try?

0 投票
1 回答
1092 浏览

php - 如何从另一个用 php 编写的程序调用 tabula-java?

情况

我有一个用 PHP 编写的网站。

在 PHP 中,我可以提取上传到同一网站的 pdf 文件中的文本等。

我找到了tabula-java github repo。

那么问题是什么?

我已经尝试过用于 tabula 的 mac 应用程序。我注意到在转换表格数据之前,我需要突出显示 pdf 的某个部分。

然而,这不是我想要完成的。我想在后台按需运行 tabula。当我的网站收到文件上传并满足某些条件时,我想以某种方式调用表格即服务并将非结构化数据提供给它,然后取回表格数据。

我该怎么做呢?

0 投票
2 回答
242 浏览

java - 执行命令的java代码

我想从 java 程序中执行 tabula 工具命令。我正在尝试的代码是:

它不工作,任何帮助将不胜感激。 这个命令需要从java中执行

0 投票
1 回答
695 浏览

python - 解析pdf时Tabula-py字体错误tahoma

我在 debian jessie 上运行。我正在尝试使用tabula-py 库解析我的 pdf,但出现此错误

如何解决这个问题?

这是我的代码:

错误将发生在这一行

df = read_pdf_table('ed.pdf', area=(top,left,bottom,right))

0 投票
1 回答
1930 浏览

pdf - 表格 / PDF 列单位

我正在自动从 PDF 文件中提取表格数据。我需要使用一个名为Tabula的开源库。该工具可以选择将列提供给分隔表格 PDF 数据,如下所示:

以上将创建 5 列;80、250 和 380 是列分隔符的单位。

谁能告诉我 80、250 和 380 是什么单位以及如何确定页面上的哪个水平点是什么数字?是否有衡量 PDF 的常用单位?

0 投票
0 回答
419 浏览

pdf - Tabula 命令行在将 PDF 转换为 excel 时出错

我试图使用 tabula 命令行将 PDF 转换为 csv,但它给出了错误

任何人都可以请帮忙。