Re: Searching for text in PDF files is wrong
- From: Marius Gedminas <marius gedmin as>
- To: gtk-app-devel-list gnome org
- Subject: Re: Searching for text in PDF files is wrong
- Date: Mon, 3 Dec 2018 19:03:56 +0200
On Fri, Nov 30, 2018 at 09:56:12PM +0100, Радомир Хаџић via gtk-app-devel-list wrote:
I use poppler_page_find_text() to find text in PDF files. This returns
GList of pointers to PopplerRectangles. Then I use
poppler_page_render_selection() to mark the found text.
What is wrong is that PopplerRectangles returned by
poppler_page_find_text() are incompatible with those that
poppler_page_render_selection() requests, which is why the wrong text
is selected.
I have found that to make those two compatible, I have to do the
following to PopplerRectangles returned by poppler_page_find_text():
1) SWAP(rectangle.x1, rectangle.x2);
2) SWAP(rectangle.y1, rectangle.y2);
3) rectangle.y1 = page_height - rectangle.y1;
4) rectangle.y2 = page_height - rectangle.y2;
But this does not solve the problem because the marked text cycles
between right and wrong again while resizing the window.
is: https://pastebin.com/h3F56Yv7
You're doing in-place coordinate conversions in your drawing code.
Every expose event will change the coordinates event, which is why
you're seeing the flip-flopping.
Do the conversion only once, or use a local temporary PopplerRectangle
variable and avoid in-place conversions.
(I'm not familiar with poppler's APIs and cannot say if your conversion
code is correct.)
HTH,
Marius Gedminas
--
Lutetium is the heaviest and hardest of the rare earth metals, and is used in
the production of umlauts and other fraktur font features.
-- Charles Stross
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]