閱讀multicolumned PDF文檔iText的閱讀multicolumned PDF文檔
當iText的閱讀PDF(提取網頁內容到一個字符串變量),那麼內容就會被固定在那裏:
reader = new PdfReader(getResources().openRawResource(R.raw.resume1));
original_content = PdfTextExtractor.getTextFromPage(reader, 2);
String sub_content = original_content.trim().replaceAll(" {2,}", " ");
sub_content = sub_content.trim().replaceAll("\n ", "\n");
sub_content = sub_content.replaceAll("(.+)(?<!\\.)\n(?!\\W)", "$1 ");
如果文檔僅爲1列,但如果文檔具有多列,則會每行提取文檔1。它會結合左列和右列。
我使用this作爲樣本PDF,這是來自START QA文檔。
如何閱讀多版本的PDF文檔?
謝謝你的回答,MKL。我已經嘗試了您發佈的兩種代碼,第二種方法與我的要求一起使用了1列和2列的pdf。第一種方法存在問題,似乎它從pdf中提取時除去了多餘的pdf(沒有使用3個或更多列的PDF文檔進行嘗試),所以刪除了雙'\ n'。順便說一下,第一種方法是否可能只提取PDF而不編輯內容的形式? –
其實第一種方法(SimpleTextExtractionStrategy)是對頁面內容進行最少操縱的方法,它只在座標跳轉所提示的地方插入空格和換行符。第二種方法更符合單個文本段的座標分析。 – mkl
謝謝mkl,但我只想'SimpleTextExtractionStrategy'提取內容而不操作'\ n'。 –