Мне нужно извлечь текст из pdf-файлов с помощью iText.Извлечь столбцы текста из pdf-файла с помощью iText
Проблема в том, некоторые PDF-файлы содержат 2 колонки и когда я извлечь текст я получаю текстовый файл, в котором столбцы слиты в качестве результата (т.е. текст из обоих столбцов в одной и той же линии)
это код :
public class pdf
{
private static String INPUTFILE = "http://www.revuemedecinetropicale.com/TAP_519-522_-_AO_07151GT_Rasoamananjara__ao.pdf" ;
private static String OUTPUTFILE = "c:/new3.pdf";
public static void main(String[] args) throws DocumentException, IOException {
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE));
document.open();
PdfReader reader = new PdfReader(INPUTFILE);
int n = reader.getNumberOfPages();
PdfImportedPage page;
// Go through all pages
for (int i = 1; i <= n; i++) {
page = writer.getImportedPage(reader, i);
Image instance = Image.getInstance(page);
document.add(instance);
}
document.close();
PdfReader readerN = new PdfReader(OUTPUTFILE);
for (int i = 1; i <= n; i++) {
String myLine = PdfTextExtractor.getTextFromPage(readerN,i);
System.out.println(myLine);
try {
FileWriter fw = new FileWriter("c:/yo.txt",true);
fw.write(myLine);
fw.close();
}catch (IOException ioe) {ioe.printStackTrace(); }
}
}
Не могли бы вы помочь мне в решении этой задачи?
Благодаря @kevin [Как читатели PDF сделать это так хорошо?] (Http://stackoverflow.com/questions/22675690/if-identifying-text-structure-in-pdf- document-is-so-hard-how-do-pdf-reade) – david004
@ david004 Я очень сомневаюсь, что читатели PDF отлично справляются со всеми PDF-файлами. Он * мог бы быть более умным с символом разделителя, который мы вставляем между словами (это то, что я подозреваю в приложениях для чтения PDF-файлов). В основном, если расстояние между символом и рядом больше определенного порога (возможно, в два раза больше ширины пробела?) Вместо символа пробела используется символ табуляции. Это может быть достаточно хорошим для многих сценариев, но определенно недостаточно для анализа общего назначения. Если бы это помогло, я мог бы посмотреть на добавление поведения вставки вкладок ... –