Chr*_*ran 5 java pdf android itext
我已经完成了从PDF中提取文本但现在我想要提取图像.第一个问题是图像在每页的文本之间.我想知道的是如何按顺序提取图像,即使文件是每页2列,以及如何确定图像在文本中的位置.
以下是我尝试过的一些代码.
图像提取:
ExtractImages.java:
public static final String RESULT = "results/part4/chapter15/Img%s.%s";
public void extractImages(String filename)
throws IOException, DocumentException {
PdfReader reader = new PdfReader(filename);
PdfReaderContentParser parser = new PdfReaderContentParser(reader);
MyImageRenderListener listener = new MyImageRenderListener(RESULT);
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
parser.processContent(i, listener);
}
}
MyImageRenderListener:
public MyImageRenderListener(String path) {
this.path = path;
}
public void renderImage(ImageRenderInfo renderInfo) {
try {
String filename;
FileOutputStream os;
PdfImageObject image = renderInfo.getImage();
if (image == null) return;
filename = String.format(path, renderInfo.getRef().getNumber(), image.getFileType());
os = new FileOutputStream(filename);
os.write(image.getImageAsBytes());
os.flush();
os.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud)
代码处理pdf的内容并检查图像,然后将这些图像渲染到图像文件(.png,.jpg等).
我在这里遇到的问题是它不能按顺序提取图像.我希望图像按顺序排列,这样我就能知道图像首先出现在页面中并且最后.我怎么做?那么,是否有可能提取图像而不将其呈现为文件?我对图像的目标是在我的Android应用程序中将其显示为图像而不将其转换为文件.如果我不可能,那么当用户使用它时我会坚持删除图像.
我的目的是从PDF文件中提取(不查看)文本和图像,并在Android应用程序中按顺序显示.
高层次方法:
这是我在 iText 一直在研究的东西,这当然不是一项简单的任务。
最简单的解决方案当然是有一个带标签的 pdf 文档。带标签的文档包含有关哪些视觉元素以何种方式组合在一起的信息。或者,简单地说,您不必担心构建行和段落,这些已经完成并标记了。
| 归档时间: |
|
| 查看次数: |
4039 次 |
| 最近记录: |