正如标题所说,我想要检索pdf页面内图像的所有坐标。我到现在为止尝试的是:
dev = fz_new_text_device(ctx, sheet, page);
fz_disable_device_hints(dev , FZ_IGNORE_IMAGE);
fz_run_page(doc, pg->currentPage, dev , &ctm,
NULL);
// iterate over the page_blocks (can be image and text);
fz_page_block *block;
for (block = page->blocks;
block < page->blocks + page->len; block++) {
if (block->type == FZ_PAGE_BLOCK_IMAGE) {
fz_image_block *iBlock = block->u.image;
fz_irect iRect;
fz_irect_from_rect(&iRect, &iBlock->bbox);
// the resulting irect from here has x0 = 0 and also
// y0 = 0 even if there are no images aligned in [0,0]
}
}
所以我的问题是,如果我以正确的方式开始这样做,如果没有,有人可以给出一些关于我如何获得图像坐标的指示?
答案 0 :(得分:2)
所以那里的代码是制作文本提取设备,然后通过该设备运行页面内容。这将返回页面上文本块的结构化列表以及页面上的图像。
返回的结构化数据不包括放置图像的位置/比例。您正在访问的宽度/高度数据是图像本身的数据,而不是它们在页面上的位置。
听起来您需要更新文本提取设备以存储用于每个图像的fz_matrix。这不是一项艰巨的任务。弹出#ghostscript irc频道获取一些指示。
罗宾