2012-07-17 157 views
1

我有一个PDF文件,其中有300页的数量,每套页面包含一个人的身份信息,如社会安全号码。基于正则表达式从pdf文件中提取文本?

让我们说,从1-4网页是社会数987-65-4320和5-6个页面是987-65-4321

我想提取的第一个雇员的所有信息开始第一个社交号码位置第二个社交号码位置然后将它们保存在一个新的pdf文件中。

我看到的例子是关于从PDF文件中提取的所有文字,不是基于这样一个具体标准为:

extract text from pdf files

请指教如何实现这一目标。

回答

1

这不是一种自动化技术,但你能得到的文本(我可能只是复制粘贴到文本文件的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,我会把信息放入Microsoft Word或Google Docs并保存PDF。

或者,如果您只想从一系列员工“提取所有信息”,那么它是否可以创建原始PDF的副本并删除了一些页面?我见过可以让你这样做的网站,但是Chrome的(你可以用它打开本地PDF而不会出现问题)打印对话框可以让你指定一系列页面,并将其保存为PDF。