diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2016-07-17 16:55:45 +0800 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2016-07-17 22:33:52 +0800 |
commit | c15b5a6f0c149f24fa92d361a804035cc03357fd (patch) | |
tree | 769ed926fbdbde097f2471e4f992ac5cae3631de /platform/java/src | |
parent | 9500e155c7d7b1b99cc1f171c1ef3040c8023132 (diff) | |
download | mupdf-c15b5a6f0c149f24fa92d361a804035cc03357fd.tar.xz |
JNI: Implement document Outline.
Diffstat (limited to 'platform/java/src')
-rw-r--r-- | platform/java/src/com/artifex/mupdf/fitz/Document.java | 2 | ||||
-rw-r--r-- | platform/java/src/com/artifex/mupdf/fitz/Outline.java | 42 |
2 files changed, 35 insertions, 9 deletions
diff --git a/platform/java/src/com/artifex/mupdf/fitz/Document.java b/platform/java/src/com/artifex/mupdf/fitz/Document.java index 89e3013b..b3c42e35 100644 --- a/platform/java/src/com/artifex/mupdf/fitz/Document.java +++ b/platform/java/src/com/artifex/mupdf/fitz/Document.java @@ -41,7 +41,7 @@ public class Document public native int countPages(); public native Page loadPage(int number); - public native Outline loadOutline(); + public native Outline[] loadOutline(); public native String getMetaData(String key); public native boolean isReflowable(); public native void layout(float width, float height, float em); diff --git a/platform/java/src/com/artifex/mupdf/fitz/Outline.java b/platform/java/src/com/artifex/mupdf/fitz/Outline.java index 98a11b79..01b6554a 100644 --- a/platform/java/src/com/artifex/mupdf/fitz/Outline.java +++ b/platform/java/src/com/artifex/mupdf/fitz/Outline.java @@ -2,16 +2,42 @@ package com.artifex.mupdf.fitz; public class Outline { - private long pointer; + public String title; + public String uri; + public int page; + public Outline down[]; - protected native void finalize(); - - public void destroy() { - finalize(); - pointer = 0; + public Outline(String title, int page, String uri, Outline[] down) { + this.title = title; + this.page = page; + this.uri = uri; + this.down = down; } - private Outline(long p) { - pointer = p; + public String toString() + { + StringBuffer s = new StringBuffer(); + + s.append(page); + s.append(": "); + s.append(title); + s.append(' '); + s.append(uri); + s.append('\n'); + + if (down != null) + { + for (int i = 0; i < down.length; i++) + { + s.append('\t'); + s.append(down[i]); + s.append('\n'); + } + } + + s.deleteCharAt(s.length() - 1); + + return s.toString(); } + } |