Есть ли в библиотеке MuPdf функция юникода или текстового поиска? - PullRequest
0 голосов
/ 20 апреля 2020

Фон

Я работаю над приложением WPF windows и хочу добавить встроенный просмотрщик PDF с основными функциями c, включая просмотр PDF, поиск текста и навигацию по страницам.

Я пробовал встроенный Inte rnet Explorer и установленный метод Adobe PDF Reader ( таким образом ), но этот метод не подходит для наших требований, так как Adobe PDF Reader также может иметь внешние ссылки, которые могут не допускается по соображениям безопасности приложения.

Поэтому я пытаюсь использовать библиотеку moonpdf . Эта библиотека прекрасно работает с нашими требованиями, но единственная проблема в том, что в этой библиотеке нет функции текстового поиска. (Я думаю, что он показывает PDF в виде изображений) Затем я скачал исходный код moonpdf и понял, что moonpdf использует libmupdf.dll , упаковывающий в c#. При необходимости я могу изменить исходный код moonpdf и исходный код mupdf для нашего требования.

Мой вопрос

Есть ли в mupdf какие-либо функции текстового поиска? если так, как я могу использовать это?

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

В библиотеке basi c mupdf есть несколько функций для поиска текста. Они работают путем поиска на странице текстовой строки в нескольких различных вариантах и ​​возвращают область для всех попаданий данного текста. Вам нужно самим перебирать страницы (чтобы выполнить прямой или обратный поиск).

fz_quad hits[1000];
count = fz_search_page(ctx, page, needle, hits, nelem(hits));

Тем не менее, я не знаю, как или даже если "moonpdf" обернул эти функции.

1 голос
/ 20 апреля 2020

Вы, конечно, можете извлечь текст из документа, библиотека MuPDF сделает это. Я полагаю, что после этого вам нужно применить свои собственные критерии поиска. Боюсь, я не достаточно опытен, чтобы ответить на вопрос «как», хотя. Я предполагаю, что один из примеров mutool был бы здесь полезен. Я посмотрю, смогу ли я получить ответ от одного из разработчиков.

...