阅读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'。 –