我已经尝试了堆栈溢出和外部的大多数事情
问题: 我有一个PDF格式的内容和表格。 我还需要解析表和内容。
Apis:
https://github.com/tabulapdf/tabula-java
我正在使用tabula-java
,它忽略了某些内容,并且表格单元格内的内容未正确分隔。
我的PDF具有这样的内容
DATE :1/1/2018 ABCD SCODE:FFFT
--ACCEPTED--
USER:ADMIN BATCH:RR EEE
CON BATCH
=======================================================================
MAIN SNO SUB VALUE DIS %
R 12 rr1 0125 24.5
SLNO DESC QTY TOTAL CODE FREE
1 ABD 12 90 BBNEW -NILL-
2 XDF 45 55 GHT55 MRP
3 QWE 08 77 CAT -NILL-
=======================================================================
MAIN SNO SUB VALUE DIS %
QW 14 rr2 0122 24.5
SLNO DESC QTY TOTAL CODE FREE
1 ABD 12 90 BBNEW -NILL-
2 XDF 45 55 GHT55 MRP
3 QWE 08 77 CAT -NILL-
要转换的Tabula代码:
public static void toCsv() throws ParseException {
String commandLineOptions[] = { "-p", "1", "-o", "$csv", };
CommandLineParser parser = new DefaultParser();
try {
CommandLine line = parser.parse(TabulaUtil.buildOptions(), commandLineOptions);
new TabulaUtil(System.out, line).extractFileInto(
new File("/home/sample/firstPage.pdf"),
new File("/home/sample/onePage.csv"));
} catch (Exception e) {
e.printStackTrace();
}
}
tabula甚至支持命令行界面
java -jar TabulaJar/tabula-1.0.2-jar-with-dependencies.jar -p all -o $csv -b Pdfs
我尝试使用-c,--columns <COLUMNS>
的表格
通过列边界的X坐标获取单元格
但是问题是我的pdf内容是动态的。即表格大小已更改。
堆栈中的这些链接溢出,还有更多的工作对我有用。
How to convert PDF to CSV with tabula-py?
How to extract table data from PDF as CSV from the command line?
How to convert a pdf file into CSV file?
Parse PDF table and display it as CSV(Java)
我使用了pdf框,该框给出了无法正确读取表格内容的未格式化文本。
可以使用Java将带有表的pdf转换为 csv / excel ,而不会丢失内容和格式。
我不想使用付费图书馆。
答案 0 :(得分:0)
在此处查看任何使用Java将PDF提取为CSV的示例:https://github.com/pdftables/java-pdftables-api。每个页面都是独立的,因此PDF的动态性质不成问题。您可以在他们的网站上使用免费试用版。
appliedSpeed += Time.deltaTime * 10f;
appliedSpeed = Mathf.Min(appliedSpeed, speed);
myRigidbody.velocity = transform.forward * appliedSpeed;
答案 1 :(得分:0)
Apache基金会的项目很少
Tikka支持多种扩展,包括pdf,ppt,xls。 https://tika.apache.org/1.24.1/formats.html
中提到了受支持的格式PDF框-特定于pdf相关功能