在PDF Android App上标记

时间:2018-05-02 15:33:53

标签: java android pdf kotlin marker

我目前正在Android上使用AndroidPDFViewer开发一个应用程序:https://github.com/barteksc/AndroidPdfViewer

我想创建一个功能,当用户触摸屏幕时,它会在此位置的PDF上放置一个点。在我想测量2点之间的距离之后,这是另一个问题。 我不明白如何做这个功能,对PDF有所了解。我发现了这个:https://github.com/barteksc/AndroidPdfViewer/issues/554

所以它可能但是怎么样?我不明白。 我想我需要创建一个位图,但是我不能在PDF上绘图,或者放一个标记。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

他的回购邮件中有一个示例文件。

如果你转到这个location,他已经创建了如何加载pdf的方法!然后,如果你去to this link,你会发现他已经创建了这个课程并且包含了很好的评论

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;
        }
    }

但请记住,可能需要使用Async Tasks下载pdf!