pdfReader = new PdfReader(filepath); PdfReaderContentParser pdfReaderContentParser = new PdfReaderContentParser(pdfReader); renderListener.setKeyWord("签名"); renderListener.setPage(1); pdfReaderContentParser.processContent(page, renderListener); float[] coordinate = renderListener.getPcoordinate();提取PDF文字并去掉空格,解决例子
时间: 2023-05-23 16:04:31 浏览: 89
中提取不到关键字的问题。
A:
可以尝试以下代码:
1. 使用PdfBox库来提取PDF文件中的文字:
```
PDDocument document = PDDocument.load(new File(filepath));
PDFTextStripper stripper = new PDFTextStripper();
String content = stripper.getText(document);
```
2. 将所有空格去掉:
```
content = content.replaceAll("\\s+","");
```
3. 使用正则表达式匹配关键字,并获取其位置:
```
String regex = "签名";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
int startIndex = matcher.start();
int endIndex = matcher.end();
// 根据startIndex和endIndex获取关键字在PDF文件中的具体位置
}
```
这样就能够解决提取不到关键字的问题。
相关问题
pdfReader = new PdfReader(filepath); PdfReaderContentParser pdfReaderContentParser = new PdfReaderContentParser(pdfReader); renderListener.setKeyWord("签名"); renderListener.setPage(1); pdfReaderContentParser.processContent(page, renderListener); float[] coordinate = renderListener.getPcoordinate();最后是null
A:可能是因为你并没有在页面上找到包含关键词“签名”的内容,所以getPcoordinate()返回了null。建议在调用getPcoordinate()之前检查一下是否成功找到了关键词,可以打印一下renderListener中收集到的内容来确认。
pdfReader = new PdfReader(filepath);获取PDF文字
内容时,为什么会出现乱码?
A:可能是因为读取的PDF文件编码格式与代码中使用的编码格式不匹配导致的。可以尝试使用指定的编码格式来读取PDF文件内容,例如:
```
PdfReader pdfReader = new PdfReader(filepath);
String content = pdfReader.getPageContent(1).toString("UTF-8");
```
其中,"UTF-8"为指定的编码格式,可以根据需要修改。如果还是出现乱码,可以尝试使用其他编码格式来读取。
阅读全文