我有一个pdf文件,有300页,每一套网页包含一个人的识别信息,如社会保障号码。
假设1-4页为社会编号987-65-4320,5-6页为987-65-4321页。
我想提取第一个员工的所有信息,从开始,从第一个社会号码位置到第二个社会号码位置,然后将它们保存在一个新的pdf文件中。
我看到的所有例子都是关于从pdf文件中提取所有文本,而不是基于这个特定的标准:
请建议如何做到这一点。
发布于 2012-07-17 17:52:28
这不是一个自动化的技术,但你能得到文本(我可以复制粘贴pdf到一个文本文件),并使用一个正则表达式,以找到你想要的信息?
在Java中,一些解析可能类似于:
// Matches 3 digits, a dash, 2 digits, a dash, and four digits, and then all text
// until it finds another SSN
String text = "987-65-4320 some info 987-65-4321 other \ninfo";
Pattern p = Pattern.compile("(\\d{3}-\\d{2}-\\d{4})((?:.(?!\\d{3}-\\d{2}-\\d{4}))*)", Pattern.DOTALL);
Matcher m = p.matcher(text);
while (m.find())
System.out.println(m.group(1) + ": " + m.group(2));
但是没有看到您想要保存的信息,我无法帮助您获得它。
如果我想要一个新的PDF,我会把信息放入微软Word或谷歌文档,并保存PDF。
Alternatively,如果你只想从一组员工中“提取所有的信息”,那么创建一个删除了一些页面的原始PDF的副本会有效吗?我见过让你这么做的网站,但Chrome(你可以用它打开本地PDF,没有问题)打印对话框可以让你指定页面范围,并将其保存为PDF格式。
https://stackoverflow.com/questions/11527050
复制相似问题