Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中使用PDFBOXAPI从pdf文件中仅提取所需数据_Java_Pdfbox - Fatal编程技术网

如何在java中使用PDFBOXAPI从pdf文件中仅提取所需数据

如何在java中使用PDFBOXAPI从pdf文件中仅提取所需数据,java,pdfbox,Java,Pdfbox,我已经编写了java代码,以使用pdfbox api从url pdf链接中提取数据。我已经成功地以文本格式获取了全部数据。但是pdf文件包含文章相关信息,如标题,作者姓名和发布日期,我想提取非全文数据。是否有方法使用pdfbox从pdf中仅获取选定数据 URL=新URL(“http://www.example.com"); connection=(HttpURLConnection)url.openConnection(); connection.setRequestProperty(“授权”、

我已经编写了java代码,以使用pdfbox api从url pdf链接中提取数据。我已经成功地以文本格式获取了全部数据。但是pdf文件包含文章相关信息,如标题,作者姓名和发布日期,我想提取非全文数据。是否有方法使用pdfbox从pdf中仅获取选定数据

URL=新URL(“http://www.example.com");
connection=(HttpURLConnection)url.openConnection();
connection.setRequestProperty(“授权”、“基本”+编码字符串);
connection.connect();
输入=连接。getInputStream();
FileOutputStream fos1=新的FileOutputStream(“download.pdf”);
(..执行写入操作)
File in=新文件(“download.pdf”);
PDFParser parser=newpdfparser(newfileinputstream(in));
parser.parse();
COSDocument cosDoc=parser.getDocument();
pdfStripper=新的PDFTextStripper();
PDDocument pdDoc=新的PDDocument(cosDoc);
字符串parsedText=pdfStripper.getText(pdDoc);

标题、作者姓名和禁运日期,我想提取这些信息-这些数据是如何标记的?显然,这些数据必须以某种方式标记以供识别,因此需要专门提取。与其他文本数据相比,pdf中标题的字体大小是最高的,并且也是粗体格式。您说过“标记以供识别”这意味着这个词应该有一些独特性,比如我们通过@or.com找到的电子邮件。e.t.c是否可用。因此,可以通过搜索使用最大有效字体大小绘制的所有文本来识别标题。这是可以实现的。您当前提取的字符串中已有“@”字符,可以识别到迄今为止未提及的电子邮件。你对搜索的其他字段是否有可比较的标准?谢谢更新。是的,我可以使用字符串方法识别电子邮件。我的问题是如何从具有大文本字体的pdf中获取标题。如果你有相关代码,请共享。这将对我非常有帮助。感谢使用大文本字体-查看中的代码。它显示了如何在提取期间使用字体名称,并且从中获取字体名称的
TextPosition
类也有一个
getFontSize
方法。无论何时更改,该示例都会将字体名称添加到输出中,但它也可以将特定字体或字体大小中的所有文本转移到不同的数据接收器。