Последняя строка текста обрезается при извлечении текста из PDF с помощью MuPDF

Я использую MuPDF для извлечения текста из файла PDF. В большинстве случаев он работает нормально, но иногда последняя строка либо не извлекается, либо не печатается.

fz_text_sheet *sheet = fz_new_text_sheet(self.ctx);
fz_text_page *text = fz_new_text_page(self.ctx, &fz_empty_rect);
fz_device *dev = fz_new_text_device(self.ctx, sheet, text);

fz_page *page = fz_load_page(self.doc, pageNumber);
fz_run_page(self.doc, page, dev, &fz_identity, NULL);

fz_output *out = fz_new_output_file(ctx, stdout);
fz_print_text_page_html(ctx, out, text);

Первая страница этого PDF не соответствует напечатать последнюю строку текста на этой странице.

Я что-то не так делаю или это баг?

Спасибо!


person user2444342    schedule 02.06.2013    source источник


Ответы (1)


Вам нужно освободить текстовое устройство, прежде чем вы сможете безопасно использовать fz_text_page. В устройстве могут быть какие-то буферизованные данные, которые не сбрасываются до тех пор, пока не будут освобождены.

person ccxvii    schedule 03.06.2013
comment
Спасатель жизни! Действительно fz_free_device(dev) решает проблему - person ; 14.12.2016