Отметить в приложении PDF для Android - PullRequest
0 голосов
/ 02 мая 2018

В настоящее время я разрабатываю приложение для Android с AndroidPDFViewer: https://github.com/barteksc/AndroidPdfViewer

Я хочу создать функциональность, когда пользователь прикасается к экрану, он ставит точку в PDF в этом месте. После я хочу измерить расстояние между двумя точками, но это другая проблема. Я не понимаю, как сделать эту функциональность, поставить точку на PDF. Я нашел это: https://github.com/barteksc/AndroidPdfViewer/issues/554

Так что это возможно, но как? Я не понимаю Полагаю, мне нужно создать растровое изображение, но я не могу нарисовать PDF или поставить маркер.

Спасибо за ваше время.

1 Ответ

0 голосов
/ 02 мая 2018

У вас есть образец файла в его репо.

Если вы зайдете в это местоположение , он уже создал метод загрузки PDF! Затем, если вы перейдете по этой ссылке , вы увидите, что он создал класс и добавил хорошие комментарии

Render page fragment on {@link Surface}
      Page must be opened before rendering.

    public void renderPage(PdfDocument doc, Surface surface, int pageIndex,
                           int startX, int startY, int drawSizeX, int drawSizeY) {
        renderPage(doc, surface, pageIndex, startX, startY, drawSizeX, drawSizeY, false);
    }

То, что вы ищете, это метод закладки

/** Get table of contents (bookmarks) for given document */
    public List<PdfDocument.Bookmark> getTableOfContents(PdfDocument doc) {
        synchronized (lock) {
            List<PdfDocument.Bookmark> topLevel = new ArrayList<>();
            Long first = nativeGetFirstChildBookmark(doc.mNativeDocPtr, null);
            if (first != null) {
                recursiveGetBookmark(topLevel, doc, first);
            }
            return topLevel;
        }
    }

Однако имейте в виду, что для загрузки PDF-файла может потребоваться использовать Async Tasks!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...