如何解决在R中使用Tumulizer从pdf中提取表格时出现的Java错误

2022-02-21 00:00:00 r error-handling pdf java tabulizer
我正在尝试使用R中的tabulizer包从pdf中提取表。我运行以下行:

table <- extract_tables('https://fm.dk/media/17137/oekonomisk-redegoerelse-august-2019_weba.pdf', pages = 20)

但是,我一直收到此错误:

.jcall(";RJavaTools";,";Ljava/lang/Object;,";InvokeMethod&Quot;, CL,:java.lang.IllegalAccessException:类RJavaTools不能 访问java.util.ArrayList$ITR类的成员(在模块java.base中) 使用修饰符";public";

我可以从pdf提取元数据,所以我非常确定tabulizer包的安装不是问题,更多的是Java问题,我经验不是很丰富。


解决方案

好的,我已经弄清楚了,至少在我的机器上是这样。在tabulizer的GitHub页面上使用this hint从swsoyee到sort-of similar open issue,我一直后退到Java 8。在新的Mbps上,这意味着getting Java from Azul,因为Oracle还没有为该版本发布arm64版本。

我确定there's a more elegant way,但是我不使用Java,所以我在安装zulu-8.jdk之前安装了trashed all the other Java versions。(我也必须trash the plugin,但是YMMV)。这就成功了:

library(tabulizer)
table <- extract_tables('https://fm.dk/media/17137/oekonomisk-redegoerelse-august-2019_weba.pdf', pages = 20)
table[[1]]
#>       [,1]                                                             [,2]  
#>  [1,] "Tabel 1.1"                                                      ""    
#>  [2,] "Centrale skøn vedrørende tilrettelæggelsen af finanspolitikken" ""    
#>  [3,] "2018"                                                           "2019"
#>  [4,] "Strukturel saldo, pct. af strukturelt BNP 0,2"                  "-0,1"
#>  [5,] "Faktisk saldo, pct. af BNP 0,6"                                 "1,9" 
#>  [6,] "ØMU-gæld, pct. af BNP 34,1"                                     "33,7"
#>  [7,] "Offentlig forbrugsvækst, pct.1) 0,7"                            "0,8" 
#>  [8,] "Ét-årig finanseffekt, pct. af BNP2) -0,2"                       "-0,1"
#>  [9,] "Outputgab, pct.3) 0,1"                                          "0,8" 
#> [10,] "Beskæftigelsesgab, pct.3) 0,2"                                  "0,7" 
#>       [,3]  
#>  [1,] ""    
#>  [2,] ""    
#>  [3,] "2020"
#>  [4,] "0,0" 
#>  [5,] "0,4" 
#>  [6,] "33,5"
#>  [7,] "0,7" 
#>  [8,] "0,0" 
#>  [9,] "1,0" 
#> [10,] "0,9"

由reprex package(v2.0.1)于2021-12-14创建

相关文章