├── .gitignore
├── .idea
├── .name
├── compiler.xml
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── gradle.xml
├── misc.xml
├── modules.xml
├── runConfigurations.xml
└── vcs.xml
├── AndroidPdfViewer.iml
├── README.md
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── mupdflibrary
├── .gitignore
├── build.gradle
├── library.iml
├── mupdflibrary.iml
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── tekinarslan
│ │ └── mupdflibrary
│ │ └── ApplicationTest.java
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── artifex
│ │ └── mupdfdemo
│ │ ├── Annotation.java
│ │ ├── ArrayDeque.java
│ │ ├── AsyncTask.java
│ │ ├── BitmapHolder.java
│ │ ├── ChoosePDFActivity.java
│ │ ├── ChoosePDFAdapter.java
│ │ ├── ChoosePDFItem.java
│ │ ├── Deque.java
│ │ ├── LinkInfo.java
│ │ ├── LinkInfoExternal.java
│ │ ├── LinkInfoInternal.java
│ │ ├── LinkInfoRemote.java
│ │ ├── LinkInfoVisitor.java
│ │ ├── MuPDFActivity.java
│ │ ├── MuPDFAlert.java
│ │ ├── MuPDFAlertInternal.java
│ │ ├── MuPDFCore.java
│ │ ├── MuPDFPageAdapter.java
│ │ ├── MuPDFPageView.java
│ │ ├── MuPDFReaderView.java
│ │ ├── MuPDFReflowAdapter.java
│ │ ├── MuPDFReflowView.java
│ │ ├── MuPDFView.java
│ │ ├── OutlineActivity.java
│ │ ├── OutlineActivityData.java
│ │ ├── OutlineAdapter.java
│ │ ├── OutlineItem.java
│ │ ├── PageView.java
│ │ ├── PrintDialogActivity.java
│ │ ├── ReaderView.java
│ │ ├── SafeAnimatorInflater.java
│ │ ├── SearchTask.java
│ │ ├── SearchTaskResult.java
│ │ ├── TextChar.java
│ │ ├── TextWord.java
│ │ └── WidgetType.java
│ ├── jniLibs
│ ├── armeabi-v7a
│ │ └── libmupdf.so
│ └── x86
│ │ └── libmupdf.so
│ └── res
│ ├── animator
│ └── info.xml
│ ├── drawable-hdpi
│ ├── ic_launcher.png
│ └── icon.png
│ ├── drawable-ldpi
│ ├── ic_annot.png
│ ├── ic_annotation.png
│ ├── ic_arrow_left.png
│ ├── ic_arrow_right.png
│ ├── ic_cancel.png
│ ├── ic_check.png
│ ├── ic_clipboard.png
│ ├── ic_dir.png
│ ├── ic_doc.png
│ ├── ic_highlight.png
│ ├── ic_link.png
│ ├── ic_list.png
│ ├── ic_magnifying_glass.png
│ ├── ic_more.png
│ ├── ic_pen.png
│ ├── ic_print.png
│ ├── ic_reflow.png
│ ├── ic_select.png
│ ├── ic_share.png
│ ├── ic_strike.png
│ ├── ic_trash.png
│ ├── ic_underline.png
│ ├── ic_updir.png
│ └── icon.png
│ ├── drawable-mdpi
│ ├── ic_annot.png
│ ├── ic_annotation.png
│ ├── ic_arrow_left.png
│ ├── ic_arrow_right.png
│ ├── ic_arrow_up.png
│ ├── ic_cancel.png
│ ├── ic_check.png
│ ├── ic_clipboard.png
│ ├── ic_dir.png
│ ├── ic_doc.png
│ ├── ic_highlight.png
│ ├── ic_launcher.png
│ ├── ic_link.png
│ ├── ic_list.png
│ ├── ic_magnifying_glass.png
│ ├── ic_more.png
│ ├── ic_pen.png
│ ├── ic_print.png
│ ├── ic_reflow.png
│ ├── ic_select.png
│ ├── ic_share.png
│ ├── ic_strike.png
│ ├── ic_trash.png
│ ├── ic_underline.png
│ └── icon.png
│ ├── drawable-xhdpi
│ ├── ic_launcher.png
│ └── icon.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── drawable
│ ├── busy.xml
│ ├── button.xml
│ ├── darkdenim3.png
│ ├── page_num.xml
│ ├── search.xml
│ ├── seek_progress.xml
│ ├── seek_thumb.xml
│ └── tiled_background.xml
│ ├── layout
│ ├── buttons.xml
│ ├── main.xml
│ ├── outline_entry.xml
│ ├── picker_entry.xml
│ ├── print_dialog.xml
│ └── textentry.xml
│ ├── values-ar
│ └── strings.xml
│ ├── values-ca
│ └── strings.xml
│ ├── values-cs
│ └── strings.xml
│ ├── values-da
│ └── strings.xml
│ ├── values-de
│ └── strings.xml
│ ├── values-el
│ └── strings.xml
│ ├── values-es
│ └── strings.xml
│ ├── values-et
│ └── strings.xml
│ ├── values-fi
│ └── strings.xml
│ ├── values-fr
│ └── strings.xml
│ ├── values-hi
│ └── strings.xml
│ ├── values-hu
│ └── strings.xml
│ ├── values-in
│ └── strings.xml
│ ├── values-it
│ └── strings.xml
│ ├── values-iw
│ └── strings.xml
│ ├── values-ja
│ └── strings.xml
│ ├── values-ko
│ └── strings.xml
│ ├── values-lt
│ └── strings.xml
│ ├── values-ms
│ └── strings.xml
│ ├── values-nl
│ └── strings.xml
│ ├── values-no
│ └── strings.xml
│ ├── values-pl
│ └── strings.xml
│ ├── values-pt
│ └── strings.xml
│ ├── values-ru
│ └── strings.xml
│ ├── values-sk
│ └── strings.xml
│ ├── values-sv
│ └── strings.xml
│ ├── values-th
│ └── strings.xml
│ ├── values-tl
│ └── strings.xml
│ ├── values-tr
│ └── strings.xml
│ ├── values-zh-rTW
│ └── strings.xml
│ ├── values-zh
│ └── strings.xml
│ └── values
│ ├── colors.xml
│ ├── strings.xml
│ └── styles.xml
├── sample
├── .gitignore
├── build.gradle
├── proguard-rules.pro
├── sample.iml
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── tekinarslan
│ │ └── sample
│ │ └── ApplicationTest.java
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── tekinarslan
│ │ └── sample
│ │ ├── PdfFragment.java
│ │ └── SampleActivity.java
│ └── res
│ ├── drawable-hdpi
│ └── logo.png
│ ├── drawable-mdpi
│ └── logo.png
│ ├── drawable-xhdpi
│ └── logo.png
│ ├── drawable-xxhdpi
│ └── logo.png
│ ├── layout
│ ├── main.xml
│ └── pdf.xml
│ ├── menu
│ └── main.xml
│ └── values
│ ├── strings.xml
│ └── styles.xml
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | /local.properties
3 | /.idea/workspace.xml
4 | /.idea/libraries
5 | .DS_Store
6 | /build
7 |
--------------------------------------------------------------------------------
/.idea/.name:
--------------------------------------------------------------------------------
1 | AndroidPdfViewer
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | 1.7
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/AndroidPdfViewer.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | AndroidPdfViewer -- PROJECT IS NOT SUPPORTED
2 | ===============
3 | [](https://android-arsenal.com/details/3/1124)
4 |
5 |
6 | Simple and Smooth Pdfviewer for Android applications.
7 | This project use copy of mupdf as library module.
8 |
9 |
10 | USAGE
11 |
12 | *Import project into Android Studio.
13 |
14 | *Project has two modules
15 |
16 | -Mupdflibrary
17 | -Sample
18 |
19 | *Sample application using fragmentation with actionbar.
20 |
21 | *Run Sample on device.
22 |
23 | 
24 |
25 | LIBRARY LICENSE
26 |
27 | MuPDF is Copyright 2006-2014 Artifex Software, Inc.
28 |
29 | This program is free software: you can redistribute it and/or modify it under
30 | the terms of the GNU Affero General Public License as published by the Free
31 | Software Foundation, either version 3 of the License, or (at your option) any
32 | later version.
33 |
34 | This program is distributed in the hope that it will be useful, but WITHOUT ANY
35 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
36 | PARTICULAR PURPOSE. See the GNU General Public License for more details.
37 |
38 | You should have received a copy of the GNU Affero General Public License along
39 | with this program. If not, see .
40 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Settings specified in this file will override any Gradle settings
5 | # configured through the IDE.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Thu Nov 27 20:57:41 EET 2014
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
7 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # For Cygwin, ensure paths are in UNIX format before anything is touched.
46 | if $cygwin ; then
47 | [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
48 | fi
49 |
50 | # Attempt to set APP_HOME
51 | # Resolve links: $0 may be a link
52 | PRG="$0"
53 | # Need this for relative symlinks.
54 | while [ -h "$PRG" ] ; do
55 | ls=`ls -ld "$PRG"`
56 | link=`expr "$ls" : '.*-> \(.*\)$'`
57 | if expr "$link" : '/.*' > /dev/null; then
58 | PRG="$link"
59 | else
60 | PRG=`dirname "$PRG"`"/$link"
61 | fi
62 | done
63 | SAVED="`pwd`"
64 | cd "`dirname \"$PRG\"`/" >&-
65 | APP_HOME="`pwd -P`"
66 | cd "$SAVED" >&-
67 |
68 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
69 |
70 | # Determine the Java command to use to start the JVM.
71 | if [ -n "$JAVA_HOME" ] ; then
72 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
73 | # IBM's JDK on AIX uses strange locations for the executables
74 | JAVACMD="$JAVA_HOME/jre/sh/java"
75 | else
76 | JAVACMD="$JAVA_HOME/bin/java"
77 | fi
78 | if [ ! -x "$JAVACMD" ] ; then
79 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
80 |
81 | Please set the JAVA_HOME variable in your environment to match the
82 | location of your Java installation."
83 | fi
84 | else
85 | JAVACMD="java"
86 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
87 |
88 | Please set the JAVA_HOME variable in your environment to match the
89 | location of your Java installation."
90 | fi
91 |
92 | # Increase the maximum file descriptors if we can.
93 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
94 | MAX_FD_LIMIT=`ulimit -H -n`
95 | if [ $? -eq 0 ] ; then
96 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
97 | MAX_FD="$MAX_FD_LIMIT"
98 | fi
99 | ulimit -n $MAX_FD
100 | if [ $? -ne 0 ] ; then
101 | warn "Could not set maximum file descriptor limit: $MAX_FD"
102 | fi
103 | else
104 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
105 | fi
106 | fi
107 |
108 | # For Darwin, add options to specify how the application appears in the dock
109 | if $darwin; then
110 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
111 | fi
112 |
113 | # For Cygwin, switch paths to Windows format before running java
114 | if $cygwin ; then
115 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
116 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
117 |
118 | # We build the pattern for arguments to be converted via cygpath
119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
120 | SEP=""
121 | for dir in $ROOTDIRSRAW ; do
122 | ROOTDIRS="$ROOTDIRS$SEP$dir"
123 | SEP="|"
124 | done
125 | OURCYGPATTERN="(^($ROOTDIRS))"
126 | # Add a user-defined pattern to the cygpath arguments
127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
129 | fi
130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
131 | i=0
132 | for arg in "$@" ; do
133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
135 |
136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
138 | else
139 | eval `echo args$i`="\"$arg\""
140 | fi
141 | i=$((i+1))
142 | done
143 | case $i in
144 | (0) set -- ;;
145 | (1) set -- "$args0" ;;
146 | (2) set -- "$args0" "$args1" ;;
147 | (3) set -- "$args0" "$args1" "$args2" ;;
148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154 | esac
155 | fi
156 |
157 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
158 | function splitJvmOpts() {
159 | JVM_OPTS=("$@")
160 | }
161 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
162 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
163 |
164 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
165 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/mupdflibrary/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/mupdflibrary/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 22
5 | buildToolsVersion "22.0.1"
6 | defaultConfig {
7 | minSdkVersion 14
8 | targetSdkVersion 22
9 | versionCode 1
10 | versionName "1.0"
11 | }
12 | buildTypes {
13 | release {
14 | minifyEnabled false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
16 | }
17 | }
18 | }
19 |
20 | dependencies {
21 | compile fileTree(dir: 'libs', include: ['*.jar'])
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/mupdflibrary/library.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/mupdflibrary/mupdflibrary.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | generateDebugAndroidTestSources
19 | generateDebugSources
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/mupdflibrary/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Program Files (x86)\Android\android-sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/mupdflibrary/src/androidTest/java/com/tekinarslan/mupdflibrary/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.tekinarslan.mupdflibrary;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/mupdflibrary/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/Annotation.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.graphics.RectF;
4 |
5 | public class Annotation extends RectF {
6 | enum Type {
7 | TEXT, LINK, FREETEXT, LINE, SQUARE, CIRCLE, POLYGON, POLYLINE, HIGHLIGHT,
8 | UNDERLINE, SQUIGGLY, STRIKEOUT, STAMP, CARET, INK, POPUP, FILEATTACHMENT,
9 | SOUND, MOVIE, WIDGET, SCREEN, PRINTERMARK, TRAPNET, WATERMARK, A3D, UNKNOWN
10 | }
11 |
12 | public final Type type;
13 |
14 | public Annotation(float x0, float y0, float x1, float y1, int _type) {
15 | super(x0, y0, x1, y1);
16 | type = _type == -1 ? Type.UNKNOWN : Type.values()[_type];
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/BitmapHolder.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.graphics.Bitmap;
4 |
5 | public class BitmapHolder {
6 | private Bitmap bm;
7 |
8 | public BitmapHolder() {
9 | bm = null;
10 | }
11 |
12 | public synchronized void setBm(Bitmap abm) {
13 | if (bm != null && bm != abm)
14 | bm.recycle();
15 | bm = abm;
16 | }
17 |
18 | public synchronized void drop() {
19 | bm = null;
20 | }
21 |
22 | public synchronized Bitmap getBm() {
23 | return bm;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/ChoosePDFAdapter.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.graphics.Color;
4 | import android.view.LayoutInflater;
5 | import android.view.View;
6 | import android.view.ViewGroup;
7 | import android.widget.BaseAdapter;
8 | import android.widget.ImageView;
9 | import android.widget.TextView;
10 |
11 | import java.util.LinkedList;
12 |
13 | public class ChoosePDFAdapter extends BaseAdapter {
14 | private final LinkedList mItems;
15 | private final LayoutInflater mInflater;
16 |
17 | public ChoosePDFAdapter(LayoutInflater inflater) {
18 | mInflater = inflater;
19 | mItems = new LinkedList<>();
20 | }
21 |
22 | public void clear() {
23 | mItems.clear();
24 | }
25 |
26 | public void add(ChoosePDFItem item) {
27 | mItems.add(item);
28 | notifyDataSetChanged();
29 | }
30 |
31 | public int getCount() {
32 | return mItems.size();
33 | }
34 |
35 | public Object getItem(int i) {
36 | return null;
37 | }
38 |
39 | public long getItemId(int arg0) {
40 | return 0;
41 | }
42 |
43 | private int iconForType(ChoosePDFItem.Type type) {
44 | switch (type) {
45 | case PARENT:
46 | return R.drawable.ic_arrow_up;
47 | case DIR:
48 | return R.drawable.ic_dir;
49 | case DOC:
50 | return R.drawable.ic_doc;
51 | default:
52 | return 0;
53 | }
54 | }
55 |
56 | public View getView(int position, View convertView, ViewGroup parent) {
57 | View v;
58 | if (convertView == null) {
59 | v = mInflater.inflate(R.layout.picker_entry, null);
60 | } else {
61 | v = convertView;
62 | }
63 | ChoosePDFItem item = mItems.get(position);
64 | ((TextView) v.findViewById(R.id.name)).setText(item.name);
65 | ((ImageView) v.findViewById(R.id.icon)).setImageResource(iconForType(item.type));
66 | ((ImageView) v.findViewById(R.id.icon)).setColorFilter(Color.argb(255, 0, 0, 0));
67 | return v;
68 | }
69 |
70 | }
71 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/ChoosePDFItem.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | public class ChoosePDFItem {
4 | enum Type {
5 | PARENT, DIR, DOC
6 | }
7 |
8 | final public Type type;
9 | final public String name;
10 |
11 | public ChoosePDFItem(Type t, String n) {
12 | type = t;
13 | name = n;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/LinkInfo.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.graphics.RectF;
4 |
5 | public class LinkInfo {
6 | final public RectF rect;
7 |
8 | public LinkInfo(float l, float t, float r, float b) {
9 | rect = new RectF(l, t, r, b);
10 | }
11 |
12 | public void acceptVisitor(LinkInfoVisitor visitor) {
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/LinkInfoExternal.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | public class LinkInfoExternal extends LinkInfo {
4 | final public String url;
5 |
6 | public LinkInfoExternal(float l, float t, float r, float b, String u) {
7 | super(l, t, r, b);
8 | url = u;
9 | }
10 |
11 | public void acceptVisitor(LinkInfoVisitor visitor) {
12 | visitor.visitExternal(this);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/LinkInfoInternal.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | public class LinkInfoInternal extends LinkInfo {
4 | final public int pageNumber;
5 |
6 | public LinkInfoInternal(float l, float t, float r, float b, int p) {
7 | super(l, t, r, b);
8 | pageNumber = p;
9 | }
10 |
11 | public void acceptVisitor(LinkInfoVisitor visitor) {
12 | visitor.visitInternal(this);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/LinkInfoRemote.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | public class LinkInfoRemote extends LinkInfo {
4 | final public String fileSpec;
5 | final public int pageNumber;
6 | final public boolean newWindow;
7 |
8 | public LinkInfoRemote(float l, float t, float r, float b, String f, int p, boolean n) {
9 | super(l, t, r, b);
10 | fileSpec = f;
11 | pageNumber = p;
12 | newWindow = n;
13 | }
14 |
15 | public void acceptVisitor(LinkInfoVisitor visitor) {
16 | visitor.visitRemote(this);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/LinkInfoVisitor.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | abstract public class LinkInfoVisitor {
4 | public abstract void visitInternal(LinkInfoInternal li);
5 |
6 | public abstract void visitExternal(LinkInfoExternal li);
7 |
8 | public abstract void visitRemote(LinkInfoRemote li);
9 | }
10 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/MuPDFAlert.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | public class MuPDFAlert {
4 | public enum IconType {ERROR, WARNING, QUESTION, STATUS}
5 |
6 | ;
7 |
8 | public enum ButtonPressed {NONE, OK, CANCEL, NO, YES}
9 |
10 | ;
11 |
12 | public enum ButtonGroupType {OK, OK_CANCEL, YES_NO, YES_NO_CANCEL}
13 |
14 | ;
15 |
16 | public final String message;
17 | public final IconType iconType;
18 | public final ButtonGroupType buttonGroupType;
19 | public final String title;
20 | public ButtonPressed buttonPressed;
21 |
22 | MuPDFAlert(String aMessage, IconType aIconType, ButtonGroupType aButtonGroupType, String aTitle, ButtonPressed aButtonPressed) {
23 | message = aMessage;
24 | iconType = aIconType;
25 | buttonGroupType = aButtonGroupType;
26 | title = aTitle;
27 | buttonPressed = aButtonPressed;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/MuPDFAlertInternal.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | // Version of MuPDFAlert without enums to simplify JNI
4 | public class MuPDFAlertInternal {
5 | public final String message;
6 | public final int iconType;
7 | public final int buttonGroupType;
8 | public final String title;
9 | public int buttonPressed;
10 |
11 | MuPDFAlertInternal(String aMessage, int aIconType, int aButtonGroupType, String aTitle, int aButtonPressed) {
12 | message = aMessage;
13 | iconType = aIconType;
14 | buttonGroupType = aButtonGroupType;
15 | title = aTitle;
16 | buttonPressed = aButtonPressed;
17 | }
18 |
19 | MuPDFAlertInternal(MuPDFAlert alert) {
20 | message = alert.message;
21 | iconType = alert.iconType.ordinal();
22 | buttonGroupType = alert.buttonGroupType.ordinal();
23 | title = alert.message;
24 | buttonPressed = alert.buttonPressed.ordinal();
25 | }
26 |
27 | MuPDFAlert toAlert() {
28 | return new MuPDFAlert(message, MuPDFAlert.IconType.values()[iconType], MuPDFAlert.ButtonGroupType.values()[buttonGroupType], title, MuPDFAlert.ButtonPressed.values()[buttonPressed]);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/MuPDFPageAdapter.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.content.Context;
4 | import android.graphics.Point;
5 | import android.graphics.PointF;
6 | import android.util.SparseArray;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.BaseAdapter;
10 |
11 | public class MuPDFPageAdapter extends BaseAdapter {
12 | private final Context mContext;
13 | private final MuPDFCore mCore;
14 | private final SparseArray mPageSizes = new SparseArray<>();
15 |
16 | public MuPDFPageAdapter(Context c, MuPDFCore core) {
17 | mContext = c;
18 | mCore = core;
19 | }
20 |
21 | public int getCount() {
22 | return mCore.countPages();
23 | }
24 |
25 | public Object getItem(int position) {
26 | return null;
27 | }
28 |
29 | public long getItemId(int position) {
30 | return 0;
31 | }
32 |
33 | public View getView(final int position, View convertView, ViewGroup parent) {
34 | final MuPDFPageView pageView;
35 | if (convertView == null) {
36 | pageView = new MuPDFPageView(mContext, mCore, new Point(parent.getWidth(), parent.getHeight()));
37 | } else {
38 | pageView = (MuPDFPageView) convertView;
39 | }
40 |
41 | PointF pageSize = mPageSizes.get(position);
42 | if (pageSize != null) {
43 | // We already know the page size. Set it up
44 | // immediately
45 | pageView.setPage(position, pageSize);
46 | } else {
47 | // Page size as yet unknown. Blank it for now, and
48 | // start a background task to find the size
49 | pageView.blank(position);
50 | AsyncTask sizingTask = new AsyncTask() {
51 | @Override
52 | protected PointF doInBackground(Void... arg0) {
53 | return mCore.getPageSize(position);
54 | }
55 |
56 | @Override
57 | protected void onPostExecute(PointF result) {
58 | super.onPostExecute(result);
59 | // We now know the page size
60 | mPageSizes.put(position, result);
61 | // Check that this view hasn't been reused for
62 | // another page since we started
63 | if (pageView.getPage() == position)
64 | pageView.setPage(position, result);
65 | }
66 | };
67 |
68 | sizingTask.execute((Void) null);
69 | }
70 | return pageView;
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/MuPDFReflowAdapter.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.content.Context;
4 | import android.graphics.Point;
5 | import android.graphics.PointF;
6 | import android.view.View;
7 | import android.view.ViewGroup;
8 | import android.widget.BaseAdapter;
9 |
10 | public class MuPDFReflowAdapter extends BaseAdapter {
11 | private final Context mContext;
12 | private final MuPDFCore mCore;
13 |
14 | public MuPDFReflowAdapter(Context c, MuPDFCore core) {
15 | mContext = c;
16 | mCore = core;
17 | }
18 |
19 | public int getCount() {
20 | return mCore.countPages();
21 | }
22 |
23 | public Object getItem(int arg0) {
24 | return null;
25 | }
26 |
27 | public long getItemId(int arg0) {
28 | return 0;
29 | }
30 |
31 | public View getView(int position, View convertView, ViewGroup parent) {
32 | final MuPDFReflowView reflowView;
33 | if (convertView == null) {
34 | reflowView = new MuPDFReflowView(mContext, mCore, new Point(parent.getWidth(), parent.getHeight()));
35 | } else {
36 | reflowView = (MuPDFReflowView) convertView;
37 | }
38 |
39 | reflowView.setPage(position, new PointF());
40 |
41 | return reflowView;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/MuPDFReflowView.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.content.Context;
4 | import android.graphics.Point;
5 | import android.graphics.PointF;
6 | import android.graphics.RectF;
7 | import android.os.Handler;
8 | import android.util.Base64;
9 | import android.view.MotionEvent;
10 | import android.webkit.WebView;
11 | import android.webkit.WebViewClient;
12 |
13 | public class MuPDFReflowView extends WebView implements MuPDFView {
14 | private final MuPDFCore mCore;
15 | private final Handler mHandler;
16 | private final Point mParentSize;
17 | private int mPage;
18 | private int mContentHeight;
19 | AsyncTask mLoadHTML;
20 |
21 | public MuPDFReflowView(Context c, MuPDFCore core, Point parentSize) {
22 | super(c);
23 | mHandler = new Handler();
24 | mCore = core;
25 | mParentSize = parentSize;
26 | mContentHeight = parentSize.y;
27 | getSettings().setJavaScriptEnabled(true);
28 | addJavascriptInterface(new Object() {
29 | public void reportContentHeight(String value) {
30 | mContentHeight = (int) Float.parseFloat(value);
31 | mHandler.post(new Runnable() {
32 | public void run() {
33 | requestLayout();
34 | }
35 | });
36 | }
37 | }, "HTMLOUT");
38 | setWebViewClient(new WebViewClient() {
39 | @Override
40 | public void onPageFinished(WebView view, String url) {
41 | requestHeight();
42 | }
43 | });
44 | }
45 |
46 | private void requestHeight() {
47 | // Get the webview to report the content height via the interface setup
48 | // above. Workaround for getContentHeight not working
49 | loadUrl("javascript:elem=document.getElementById('content');window.HTMLOUT.reportContentHeight(" + mParentSize.x + "*elem.offsetHeight/elem.offsetWidth)");
50 | }
51 |
52 | public void setPage(int page, PointF size) {
53 | mPage = page;
54 | if (mLoadHTML != null) {
55 | mLoadHTML.cancel(true);
56 | }
57 | mLoadHTML = new AsyncTask() {
58 | @Override
59 | protected byte[] doInBackground(Void... params) {
60 | return mCore.html(mPage);
61 | }
62 |
63 | @Override
64 | protected void onPostExecute(byte[] result) {
65 | String b64 = Base64.encodeToString(result, Base64.DEFAULT);
66 | loadData(b64, "text/html; charset=utf-8", "base64");
67 | }
68 | };
69 | mLoadHTML.execute();
70 | }
71 |
72 | public int getPage() {
73 | return mPage;
74 | }
75 |
76 | public void setScale(float scale) {
77 | loadUrl("javascript:document.getElementById('content').style.zoom=\"" + (int) (scale * 100) + "%\"");
78 | requestHeight();
79 | }
80 |
81 | public void blank(int page) {
82 | }
83 |
84 | public Hit passClickEvent(float x, float y) {
85 | return Hit.NOTHING;
86 | }
87 |
88 | public LinkInfo hitLink(float x, float y) {
89 | return null;
90 | }
91 |
92 | public void selectText(float x0, float y0, float x1, float y1) {
93 | }
94 |
95 | public void deselectText() {
96 | }
97 |
98 | public boolean copySelection() {
99 | return false;
100 | }
101 |
102 | public boolean markupSelection(Annotation.Type type) {
103 | return false;
104 | }
105 |
106 | public void startDraw(float x, float y) {
107 | }
108 |
109 | public void continueDraw(float x, float y) {
110 | }
111 |
112 | public void cancelDraw() {
113 | }
114 |
115 | public boolean saveDraw() {
116 | return false;
117 | }
118 |
119 | public void setSearchBoxes(RectF[] searchBoxes) {
120 | }
121 |
122 | public void setLinkHighlighting(boolean f) {
123 | }
124 |
125 | public void deleteSelectedAnnotation() {
126 | }
127 |
128 | public void deselectAnnotation() {
129 | }
130 |
131 | public void setChangeReporter(Runnable reporter) {
132 | }
133 |
134 | public void update() {
135 | }
136 |
137 | public void addHq(boolean update) {
138 | }
139 |
140 | public void removeHq() {
141 | }
142 |
143 | public void releaseResources() {
144 | if (mLoadHTML != null) {
145 | mLoadHTML.cancel(true);
146 | mLoadHTML = null;
147 | }
148 | }
149 |
150 | @Override
151 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
152 | int x, y;
153 | switch (MeasureSpec.getMode(widthMeasureSpec)) {
154 | case MeasureSpec.UNSPECIFIED:
155 | x = mParentSize.x;
156 | break;
157 | default:
158 | x = MeasureSpec.getSize(widthMeasureSpec);
159 | }
160 | switch (MeasureSpec.getMode(heightMeasureSpec)) {
161 | case MeasureSpec.UNSPECIFIED:
162 | y = mContentHeight;
163 | break;
164 | default:
165 | y = MeasureSpec.getSize(heightMeasureSpec);
166 | }
167 |
168 | setMeasuredDimension(x, y);
169 | }
170 |
171 | @Override
172 | public boolean onTouchEvent(MotionEvent ev) {
173 | // TODO Auto-generated method stub
174 | return false;
175 | }
176 | }
177 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/MuPDFView.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.graphics.PointF;
4 | import android.graphics.RectF;
5 |
6 | enum Hit {NOTHING, WIDGET, ANNOTATION};
7 |
8 | public interface MuPDFView {
9 | public void setPage(int page, PointF size);
10 |
11 | public void setScale(float scale);
12 |
13 | public int getPage();
14 |
15 | public void blank(int page);
16 |
17 | public Hit passClickEvent(float x, float y);
18 |
19 | public LinkInfo hitLink(float x, float y);
20 |
21 | public void selectText(float x0, float y0, float x1, float y1);
22 |
23 | public void deselectText();
24 |
25 | public boolean copySelection();
26 |
27 | public boolean markupSelection(Annotation.Type type);
28 |
29 | public void deleteSelectedAnnotation();
30 |
31 | public void setSearchBoxes(RectF[] searchBoxes);
32 |
33 | public void setLinkHighlighting(boolean f);
34 |
35 | public void deselectAnnotation();
36 |
37 | public void startDraw(float x, float y);
38 |
39 | public void continueDraw(float x, float y);
40 |
41 | public void cancelDraw();
42 |
43 | public boolean saveDraw();
44 |
45 | public void setChangeReporter(Runnable reporter);
46 |
47 | public void update();
48 |
49 | public void addHq(boolean update);
50 |
51 | public void removeHq();
52 |
53 | public void releaseResources();
54 | }
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/OutlineActivity.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.app.ListActivity;
4 | import android.os.Bundle;
5 | import android.view.View;
6 | import android.widget.ListView;
7 |
8 | public class OutlineActivity extends ListActivity {
9 | OutlineItem[] mItems;
10 |
11 | /**
12 | * Called when the activity is first created.
13 | */
14 | @Override
15 | public void onCreate(Bundle savedInstanceState) {
16 | super.onCreate(savedInstanceState);
17 |
18 | mItems = OutlineActivityData.get().items;
19 | setListAdapter(new OutlineAdapter(getLayoutInflater(), mItems));
20 | // Restore the position within the list from last viewing
21 | getListView().setSelection(OutlineActivityData.get().position);
22 | getListView().setDividerHeight(0);
23 | setResult(-1);
24 | }
25 |
26 | @Override
27 | protected void onListItemClick(ListView l, View v, int position, long id) {
28 | super.onListItemClick(l, v, position, id);
29 | OutlineActivityData.get().position = getListView().getFirstVisiblePosition();
30 | setResult(mItems[position].page);
31 | finish();
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/OutlineActivityData.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | public class OutlineActivityData {
4 | public OutlineItem[] items;
5 | public int position;
6 | static private OutlineActivityData singleton;
7 |
8 | static public void set(OutlineActivityData d) {
9 | singleton = d;
10 | }
11 |
12 | static public OutlineActivityData get() {
13 | if (singleton == null)
14 | singleton = new OutlineActivityData();
15 | return singleton;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/OutlineAdapter.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.view.LayoutInflater;
4 | import android.view.View;
5 | import android.view.ViewGroup;
6 | import android.widget.BaseAdapter;
7 | import android.widget.TextView;
8 |
9 | public class OutlineAdapter extends BaseAdapter {
10 | private final OutlineItem[] mItems;
11 | private final LayoutInflater mInflater;
12 |
13 | public OutlineAdapter(LayoutInflater inflater, OutlineItem[] items) {
14 | mInflater = inflater;
15 | mItems = items;
16 | }
17 |
18 | public int getCount() {
19 | return mItems.length;
20 | }
21 |
22 | public Object getItem(int arg0) {
23 | return null;
24 | }
25 |
26 | public long getItemId(int arg0) {
27 | return 0;
28 | }
29 |
30 | public View getView(int position, View convertView, ViewGroup parent) {
31 | View v;
32 | if (convertView == null) {
33 | v = mInflater.inflate(R.layout.outline_entry, null);
34 | } else {
35 | v = convertView;
36 | }
37 | int level = mItems[position].level;
38 | if (level > 8) level = 8;
39 | String space = "";
40 | for (int i = 0; i < level; i++)
41 | space += " ";
42 | ((TextView) v.findViewById(R.id.title)).setText(space + mItems[position].title);
43 | ((TextView) v.findViewById(R.id.page)).setText(String.valueOf(mItems[position].page + 1));
44 | return v;
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/OutlineItem.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | public class OutlineItem {
4 | public final int level;
5 | public final String title;
6 | public final int page;
7 |
8 | OutlineItem(int _level, String _title, int _page) {
9 | level = _level;
10 | title = _title;
11 | page = _page;
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/PrintDialogActivity.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.app.Activity;
4 | import android.content.ActivityNotFoundException;
5 | import android.content.ContentResolver;
6 | import android.content.Intent;
7 | import android.os.Bundle;
8 | import android.util.Base64;
9 | import android.webkit.WebSettings;
10 | import android.webkit.WebView;
11 | import android.webkit.WebViewClient;
12 |
13 | import java.io.ByteArrayOutputStream;
14 | import java.io.InputStream;
15 |
16 | public class PrintDialogActivity extends Activity {
17 | private static final String PRINT_DIALOG_URL = "https://www.google.com/cloudprint/dialog.html";
18 | private static final String JS_INTERFACE = "AndroidPrintDialog";
19 | private static final String CONTENT_TRANSFER_ENCODING = "base64";
20 |
21 | private static final String ZXING_URL = "http://zxing.appspot.com";
22 | private static final int ZXING_SCAN_REQUEST = 65743;
23 |
24 | /**
25 | * Post message that is sent by Print Dialog web page when the printing dialog
26 | * needs to be closed.
27 | */
28 | private static final String CLOSE_POST_MESSAGE_NAME = "cp-dialog-on-close";
29 |
30 | /**
31 | * Web view element to show the printing dialog in.
32 | */
33 | private WebView dialogWebView;
34 |
35 | /**
36 | * Intent that started the action.
37 | */
38 | Intent cloudPrintIntent;
39 |
40 | private int resultCode;
41 |
42 | @Override
43 | public void onCreate(Bundle icicle) {
44 | super.onCreate(icicle);
45 |
46 | resultCode = RESULT_OK;
47 | setContentView(R.layout.print_dialog);
48 | dialogWebView = (WebView) findViewById(R.id.webview);
49 | cloudPrintIntent = this.getIntent();
50 |
51 | WebSettings settings = dialogWebView.getSettings();
52 | settings.setJavaScriptEnabled(true);
53 |
54 | dialogWebView.setWebViewClient(new PrintDialogWebClient());
55 | dialogWebView.addJavascriptInterface(
56 | new PrintDialogJavaScriptInterface(), JS_INTERFACE);
57 |
58 | dialogWebView.loadUrl(PRINT_DIALOG_URL);
59 | }
60 |
61 | @Override
62 | public void onActivityResult(int requestCode, int resultCode, Intent intent) {
63 | if (requestCode == ZXING_SCAN_REQUEST && resultCode == RESULT_OK) {
64 | dialogWebView.loadUrl(intent.getStringExtra("SCAN_RESULT"));
65 | }
66 | }
67 |
68 | final class PrintDialogJavaScriptInterface {
69 | public String getType() {
70 | return cloudPrintIntent.getType();
71 | }
72 |
73 | public String getTitle() {
74 | return cloudPrintIntent.getExtras().getString("title");
75 | }
76 |
77 | public String getContent() {
78 | try {
79 | ContentResolver contentResolver = getContentResolver();
80 | InputStream is = contentResolver.openInputStream(cloudPrintIntent.getData());
81 | ByteArrayOutputStream baos = new ByteArrayOutputStream();
82 |
83 | byte[] buffer = new byte[4096];
84 | int n = is.read(buffer);
85 | while (n >= 0) {
86 | baos.write(buffer, 0, n);
87 | n = is.read(buffer);
88 | }
89 | is.close();
90 | baos.flush();
91 |
92 | return Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT);
93 | } catch (Throwable e) {
94 | resultCode = RESULT_CANCELED;
95 | setResult(resultCode);
96 | finish();
97 | e.printStackTrace();
98 | }
99 | return "";
100 | }
101 |
102 | public String getEncoding() {
103 | return CONTENT_TRANSFER_ENCODING;
104 | }
105 |
106 | public void onPostMessage(String message) {
107 | if (message.startsWith(CLOSE_POST_MESSAGE_NAME)) {
108 | setResult(resultCode);
109 | finish();
110 | }
111 | }
112 | }
113 |
114 | private final class PrintDialogWebClient extends WebViewClient {
115 | @Override
116 | public boolean shouldOverrideUrlLoading(WebView view, String url) {
117 | if (url.startsWith(ZXING_URL)) {
118 | Intent intentScan = new Intent("com.google.zxing.client.android.SCAN");
119 | intentScan.putExtra("SCAN_MODE", "QR_CODE_MODE");
120 | try {
121 | startActivityForResult(intentScan, ZXING_SCAN_REQUEST);
122 | } catch (ActivityNotFoundException error) {
123 | view.loadUrl(url);
124 | }
125 | } else {
126 | view.loadUrl(url);
127 | }
128 | return false;
129 | }
130 |
131 | @Override
132 | public void onPageFinished(WebView view, String url) {
133 | if (PRINT_DIALOG_URL.equals(url)) {
134 | // Submit print document.
135 | view.loadUrl("javascript:printDialog.setPrintDocument(printDialog.createPrintDocument("
136 | + "window." + JS_INTERFACE + ".getType(),window." + JS_INTERFACE + ".getTitle(),"
137 | + "window." + JS_INTERFACE + ".getContent(),window." + JS_INTERFACE + ".getEncoding()))");
138 |
139 | // Add post messages listener.
140 | view.loadUrl("javascript:window.addEventListener('message',"
141 | + "function(evt){window." + JS_INTERFACE + ".onPostMessage(evt.data)}, false)");
142 | }
143 | }
144 | }
145 | }
146 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/SafeAnimatorInflater.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.animation.Animator;
4 | import android.animation.AnimatorInflater;
5 | import android.animation.AnimatorSet;
6 | import android.app.Activity;
7 | import android.view.View;
8 |
9 | public class SafeAnimatorInflater {
10 | private View mView;
11 |
12 | public SafeAnimatorInflater(Activity activity, int animation, View view) {
13 | AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(activity, R.animator.info);
14 | mView = view;
15 | set.setTarget(view);
16 | set.addListener(new Animator.AnimatorListener() {
17 | public void onAnimationStart(Animator animation) {
18 | mView.setVisibility(View.VISIBLE);
19 | }
20 |
21 | public void onAnimationRepeat(Animator animation) {
22 | }
23 |
24 | public void onAnimationEnd(Animator animation) {
25 | mView.setVisibility(View.INVISIBLE);
26 | }
27 |
28 | public void onAnimationCancel(Animator animation) {
29 | }
30 | });
31 | set.start();
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/SearchTask.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.app.AlertDialog;
4 | import android.app.ProgressDialog;
5 | import android.content.Context;
6 | import android.content.DialogInterface;
7 | import android.graphics.RectF;
8 | import android.os.Handler;
9 |
10 | class ProgressDialogX extends ProgressDialog {
11 | private boolean mCancelled = false;
12 |
13 | public ProgressDialogX(Context context) {
14 | super(context);
15 | }
16 |
17 | public boolean isCancelled() {
18 | return mCancelled;
19 | }
20 |
21 | @Override
22 | public void cancel() {
23 | mCancelled = true;
24 | super.cancel();
25 | }
26 | }
27 |
28 | public abstract class SearchTask {
29 | private static final int SEARCH_PROGRESS_DELAY = 200;
30 | private final Context mContext;
31 | private final MuPDFCore mCore;
32 | private final Handler mHandler;
33 | private final AlertDialog.Builder mAlertBuilder;
34 | private AsyncTask mSearchTask;
35 |
36 | public SearchTask(Context context, MuPDFCore core) {
37 | mContext = context;
38 | mCore = core;
39 | mHandler = new Handler();
40 | mAlertBuilder = new AlertDialog.Builder(context);
41 | }
42 |
43 | protected abstract void onTextFound(SearchTaskResult result);
44 |
45 | public void stop() {
46 | if (mSearchTask != null) {
47 | mSearchTask.cancel(true);
48 | mSearchTask = null;
49 | }
50 | }
51 |
52 | public void go(final String text, int direction, int displayPage, int searchPage) {
53 | if (mCore == null)
54 | return;
55 | stop();
56 |
57 | final int increment = direction;
58 | final int startIndex = searchPage == -1 ? displayPage : searchPage + increment;
59 |
60 | final ProgressDialogX progressDialog = new ProgressDialogX(mContext);
61 | progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
62 | progressDialog.setTitle(mContext.getString(R.string.searching_));
63 | progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
64 | public void onCancel(DialogInterface dialog) {
65 | stop();
66 | }
67 | });
68 | progressDialog.setMax(mCore.countPages());
69 |
70 | mSearchTask = new AsyncTask() {
71 | @Override
72 | protected SearchTaskResult doInBackground(Void... params) {
73 | int index = startIndex;
74 |
75 | while (0 <= index && index < mCore.countPages() && !isCancelled()) {
76 | publishProgress(index);
77 | RectF[] searchHits = mCore.searchPage(index, text);
78 |
79 | if (searchHits != null && searchHits.length > 0)
80 | return new SearchTaskResult(text, index, searchHits);
81 |
82 | index += increment;
83 | }
84 | return null;
85 | }
86 |
87 | @Override
88 | protected void onPostExecute(SearchTaskResult result) {
89 | progressDialog.cancel();
90 | if (result != null) {
91 | onTextFound(result);
92 | } else {
93 | mAlertBuilder.setTitle(SearchTaskResult.get() == null ? R.string.text_not_found : R.string.no_further_occurrences_found);
94 | AlertDialog alert = mAlertBuilder.create();
95 | alert.setButton(AlertDialog.BUTTON_POSITIVE, mContext.getString(R.string.dismiss),
96 | (DialogInterface.OnClickListener) null);
97 | alert.show();
98 | }
99 | }
100 |
101 | @Override
102 | protected void onCancelled() {
103 | progressDialog.cancel();
104 | }
105 |
106 | @Override
107 | protected void onProgressUpdate(Integer... values) {
108 | progressDialog.setProgress(values[0].intValue());
109 | }
110 |
111 | @Override
112 | protected void onPreExecute() {
113 | super.onPreExecute();
114 | mHandler.postDelayed(new Runnable() {
115 | public void run() {
116 | if (!progressDialog.isCancelled()) {
117 | progressDialog.show();
118 | progressDialog.setProgress(startIndex);
119 | }
120 | }
121 | }, SEARCH_PROGRESS_DELAY);
122 | }
123 | };
124 |
125 | mSearchTask.execute();
126 | }
127 | }
128 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/SearchTaskResult.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.graphics.RectF;
4 |
5 | public class SearchTaskResult {
6 | public final String txt;
7 | public final int pageNumber;
8 | public final RectF[] searchBoxes;
9 | static private SearchTaskResult singleton;
10 |
11 | SearchTaskResult(String _txt, int _pageNumber, RectF[] _searchBoxes) {
12 | txt = _txt;
13 | pageNumber = _pageNumber;
14 | searchBoxes = _searchBoxes;
15 | }
16 |
17 | static public SearchTaskResult get() {
18 | return singleton;
19 | }
20 |
21 | static public void set(SearchTaskResult r) {
22 | singleton = r;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/TextChar.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.graphics.RectF;
4 |
5 | public class TextChar extends RectF {
6 | public char c;
7 |
8 | public TextChar(float x0, float y0, float x1, float y1, char _c) {
9 | super(x0, y0, x1, y1);
10 | c = _c;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/TextWord.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | import android.graphics.RectF;
4 |
5 | public class TextWord extends RectF {
6 | public String w;
7 |
8 | public TextWord() {
9 | super();
10 | w = new String();
11 | }
12 |
13 | public void Add(TextChar tc) {
14 | super.union(tc);
15 | w = w.concat(new String(new char[]{tc.c}));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/java/com/artifex/mupdfdemo/WidgetType.java:
--------------------------------------------------------------------------------
1 | package com.artifex.mupdfdemo;
2 |
3 | public enum WidgetType {
4 | NONE,
5 | TEXT,
6 | LISTBOX,
7 | COMBOBOX
8 | }
9 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/jniLibs/armeabi-v7a/libmupdf.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/jniLibs/armeabi-v7a/libmupdf.so
--------------------------------------------------------------------------------
/mupdflibrary/src/main/jniLibs/x86/libmupdf.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/jniLibs/x86/libmupdf.so
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/animator/info.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
15 |
16 |
20 |
21 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_annot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_annot.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_annotation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_annotation.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_arrow_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_arrow_left.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_arrow_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_arrow_right.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_cancel.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_check.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_clipboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_clipboard.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_dir.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_dir.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_doc.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_highlight.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_link.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_list.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_magnifying_glass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_magnifying_glass.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_more.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_pen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_pen.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_print.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_print.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_reflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_reflow.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_select.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_share.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_strike.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_strike.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_trash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_trash.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_underline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_underline.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/ic_updir.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/ic_updir.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_annot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_annot.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_annotation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_annotation.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_arrow_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_arrow_left.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_arrow_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_arrow_right.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_arrow_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_arrow_up.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_cancel.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_check.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_clipboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_clipboard.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_dir.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_dir.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_doc.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_highlight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_highlight.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_link.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_list.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_magnifying_glass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_magnifying_glass.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_more.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_pen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_pen.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_print.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_print.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_reflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_reflow.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_select.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_share.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_strike.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_strike.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_trash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_trash.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/ic_underline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/ic_underline.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable/busy.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable/button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 | -
11 |
12 |
13 |
14 |
15 |
16 |
17 | -
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable/darkdenim3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/mupdflibrary/src/main/res/drawable/darkdenim3.png
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable/page_num.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable/search.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
17 |
18 | -
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable/seek_progress.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable/seek_thumb.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/drawable/tiled_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/layout/outline_entry.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
16 |
17 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/layout/picker_entry.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
13 |
14 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/layout/print_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
11 |
12 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/layout/textentry.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-ar/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | قبول
4 | MuPDF
5 | إلغاء
6 | تعذر فتح المخزن المؤقت
7 | تعذر فتح المستند
8 | تعذر فتح المستند: %1$s
9 | تعذر فتح الملف: %1$s
10 | اختر قيمة
11 | تم النسخ إلى الحافظة
12 | نسخ
13 | نسخ النص
14 | نسخ النص إلى الحافظة
15 | حذف
16 | تجاهل
17 | يحتوي المستند على تغييرات. هل تريد حفظها؟
18 | سحب تعليق توضيحي
19 | تعديل التعليقات التوضيحية
20 | أدخل كلمة المرور
21 | دخول إلى وضع إعادة التدفق
22 | تعبئة حقل النص
23 | التنسيق غير مدعوم حاليًا
24 | تظليل
25 | حبر
26 | خروج من وضع إعادة التدفق
27 | المزيد
28 | لا
29 | لم يتم العثور على متكررات أخرى
30 | مشاركة وسائط التخزين مع حاسوب شخصي قد يمنع الوصول إليها
31 | وسائط التخزين غير موجودة
32 | لم يتم تحديد نص
33 | غير مدعوم
34 | لا يوجد شيء لحفظه
35 | موافق
36 | جدول المحتويات
37 | [أعلى مستوى واحد]
38 | %1$s %2$s: %3$s
39 | طباعة
40 | فشلت الطباعة
41 | حفظ
42 | بحث
43 | بحث إلى الخلف
44 | بحث في المستند
45 | بحث إلى الأمام
46 | جاري البحث في…
47 | تحديد
48 | تحديد النص
49 | شطب
50 | لم يتم العثور على النص
51 | تظليل وتمكين الروابط
52 | تسطير
53 | نعم
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-ca/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Acceptar
4 | MuPDF
5 | Cancel·lar
6 | No es pot obrir el buffer
7 | No es pot obrir el document
8 | No es pot obrir el document: %1$s
9 | No es pot obrir l\'arxiu: %1$s
10 | Tria el valor
11 | Copiat al portapapers
12 | Copiar
13 | copiar text
14 | Copiar text al portapapers
15 | Esborrar
16 | Descartar
17 | El document té canvis. Desar?
18 | Dibuixar anotació
19 | Editar anotacions
20 | Introduir contrasenya
21 | Entrant en modo de reflux
22 | Emplena el camp de text
23 | Format no suportat actualment
24 | Destacar
25 | Tinta
26 | Abandonant modo de reflux
27 | Més
28 | No
29 | No hi ha més coincidències
30 | Compartir el mitjà d\'emmagatzematge amb un PC pot fer que sigui inaccessible
31 | Mitjà d\'emmagatzematge no present
32 | No s\'ha seleccionat text
33 | No compatible
34 | No hi ha gens que guardar
35 | Acceptar
36 | Índex
37 | [Pujar un nivell]
38 | %1$s %2$s: %3$s
39 | Imprimir
40 | Fallada al imprimir
41 | Desar
42 | Buscar
43 | Buscar cap a enrere
44 | Buscar document
45 | Buscar cap a davant
46 | Buscant…
47 | Seleccionar
48 | Seleccionar text
49 | Ratllat
50 | Text no trobat
51 | Ressaltar i habilitar enllaços
52 | Subratllat
53 | Sí
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-cs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Přijmout
4 | MuPDF
5 | Zrušit
6 | Nelze otevřít vyrovnávací paměť
7 | Nelze otevřít dokument
8 | Nelze otevřít dokument: %1$s
9 | Nelze otevřít soubor: %1$s
10 | Zvolte hodnotu
11 | Kopírováno do schránky
12 | Kopírovat
13 | kopírovat text
14 | Kopírovat text do schránky
15 | Smazat
16 | Odmítnout
17 | Dokument byl změněn. Uložit?
18 | Vložit anotaci
19 | Upravit anotace
20 | Zadat heslo
21 | Vstup do režimu přeformátování řádků
22 | Vyplnit textové pole
23 | Formát aktuálně nepodporován
24 | Zvýraznit
25 | Inkoust
26 | Odchod z režimu přeformátování řádků
27 | Více
28 | Ne
29 | Nenalezeny další výskyty
30 | Při sdílení s PC může být paměťové médium nedostupné
31 | Paměťové médim nenalezeno
32 | Nevybrán žádný text
33 | Nepodporováno
34 | Nic k uložení
35 | OK
36 | Obsah
37 | [Nahoru o jednu úroveň]
38 | %1$s %2$s: %3$s
39 | Tisk
40 | Tisk selhal
41 | Uložit
42 | Hledat
43 | Hledat zpět
44 | Prohledat dokument
45 | Hledat vpřed
46 | Hledání…
47 | Vybrat
48 | Vybrat text
49 | Přeškrtnout
50 | Text nenalezen
51 | Zvýraznit a aktivovat odkazy
52 | Podtrhnout
53 | Ano
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-da/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Accepter
4 | MuPDF
5 | Annuller
6 | Buffer kan ikke åbnes
7 | Dokument kan ikke åbnes
8 | Kan ikke åbne dokumentet: %1$s
9 | Kan ikke åbne filen: %1$s
10 | Vælg værdi
11 | Kopieret til udklipsholder
12 | Kopier
13 | kopier tekst
14 | kopier tekst til udklipsholder
15 | Slet
16 | Afvis
17 | Dokumentet er ændret. Gem ændringer?
18 | Lav anmærkning
19 | Rediger anmærkninger
20 | Indtast adgangskode
21 | Går over til konverteringstilstand
22 | Udfyld tekstfelt
23 | Format ikke understøttet i øjeblikket
24 | Fremhæv
25 | Ink
26 | Forlader konverteringstilstand
27 | Mere
28 | Nej
29 | Der blev ikke fundet flere tilfælde
30 | Deles lagermediet med en PC, kan det gøre det utilgængeligt
31 | Lagermedie ikke fundet
32 | Ingen tekst valgt
33 | Ikke understøttet
34 | Intet at gemme
35 | Okay
36 | Indholdsfortegnelse
37 | [Et niveau op]
38 | %1$s %2$s: %3$s
39 | Udskriv
40 | Udskrivning mislykket
41 | Gem
42 | Søg
43 | Søg bagud
44 | Søg i dokument
45 | Søg fremad
46 | Søger…
47 | Vælg
48 | Vælg tekst
49 | Gennemstreget
50 | Tekst ikke fundet
51 | Fremhæv og aktiver links
52 | Understreg
53 | Ja
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-de/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Akzeptieren
4 | MuPDF
5 | Abbrechen
6 | Zwischenspeicher kann nicht geöffnet werden
7 | Dokument kann nicht geöffnet werden
8 | Dokument kann nicht geöffnet werden: %1$s
9 | Datei kann nicht geöffnet werden: %1$s
10 | Wert auswählen
11 | In die Zwischenanlage kopiert
12 | Kopieren
13 | Text kopieren
14 | Text in Zwischenablage kopieren
15 | Entfernen
16 | Verwerfen
17 | Das Dokument wurde verändert. Sollen die Änderungen gespeichert werden?
18 | Kommentar einfügen
19 | Kommentar bearbeiten
20 | Passwort eingeben
21 | Anpassungsmodus wird gestartet
22 | Textfeld ausfüllen
23 | Format wird momentan nicht unterstützt
24 | Markieren
25 | Farbe
26 | Anpassungsmodus wird beendet
27 | Mehr
28 | Nein
29 | Keine weiteren Treffer
30 | Die Freigabe des Speichermediums für einen PC kann es unzugänglich machen
31 | Speichermedium nicht vorhanden
32 | Kein Text ausgewählt
33 | Nicht unterstützt
34 | Nichts zum Speichern
35 | OK
36 | Inhaltsverzeichnis
37 | [Eine Ebene nach oben]
38 | %1$s %2$s: %3$s
39 | Drucken
40 | Fehler beim Drucken
41 | Speichern
42 | Suchen
43 | Rückwärts suchen
44 | Dokument durchsuchen
45 | Vorwärts suchen
46 | Suche…
47 | Auswählen
48 | Text auswählen
49 | Durchstreichen
50 | Text konnte nicht gefunden werden
51 | Markiere und aktiviere Verknüpfungen
52 | Unterstreichen
53 | Ja
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-el/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Αποδοχή
4 | MuPDF
5 | Ακύρωση
6 | Αδυναμία ανοίγματος buffer
7 | Αδυναμία ανοίγματος εγγράφου
8 | Αδυναμία ανοίγματος εγγράφου: %1$s
9 | Αδυναμία ανοίγματος αρχείου: %1$s
10 | Επιλογή τιμής
11 | Αντιγράφηκε στο πρόχειρο
12 | Αντιγραφή
13 | αντιγραφή κειμένου
14 | Αντιγραφή κειμένου στο πρόχειρο
15 | Διαγραφή
16 | Ματαίωση
17 | Το έγγραφο έχει αλλαγές. Να αποθηκευτούν;
18 | Σχεδίαση σχολίου
19 | Επεξεργασία σχολίων
20 | Πληκτρολογήστε κωδικό πρόσβασης
21 | Είσοδος σε λειτουργία δυναμικής προσαρμογής
22 | Συμπλήρωση πεδίου κειμένου
23 | Αυτή η μορφή δεν υποστηρίζεται τη δεδομένη στιγμή
24 | Επισήμανση
25 | Γραφή
26 | Έξοδος από λειτουργία δυναμικής προσαρμογής
27 | Περισσότερο
28 | Όχι
29 | Δεν βρέθηκαν άλλες εμφανίσεις
30 | Η κοινή χρήση του αποθηκευτικού μέσου με έναν υπολογιστή μπορεί να το καταστήσει μη προσβάσιμο
31 | Δεν υπάρχει αποθηκευτικό μέσο
32 | Δεν έχει επιλεγεί κείμενο
33 | Δεν υποστηρίζεται
34 | Δεν υπάρχει περιεχόμενο για αποθήκευση
35 | ΟΚ
36 | Πίνακας περιεχομένων
37 | [Ένα επίπεδο επάνω]
38 | %1$s %2$s: %3$s
39 | Εκτύπωση
40 | Η εκτύπωση απέτυχε
41 | Αποθήκευση
42 | Αναζήτηση
43 | Αναζήτηση προς τα πίσω
44 | Αναζήτηση εγγράφου
45 | Αναζήτηση προς τα μπροστά
46 | Αναζήτηση…
47 | Επιλογή
48 | Επιλογή κειμένου
49 | Διακριτή διαγραφή
50 | Δεν βρέθηκε το κείμενο
51 | Επισήμανση και ενεργοποίηση συνδέσεων
52 | Υπογράμμιση
53 | Ναι
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-es/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Aceptar
4 | MuPDF
5 | Cancelar
6 | No se puede abrir el búfer
7 | No se puede abrir el documento
8 | No se puede abrir el documento:%1$s
9 | No se puede abrir el archivo: %1$s
10 | Elegir valor
11 | Copiado al portapapeles
12 | Copiar
13 | copiar texto
14 | Copiar texto al portapapeles
15 | Borrar
16 | Ignorar
17 | El documento tiene cambios. ¿Guardar?
18 | Dibujar anotación
19 | Editar anotaicones
20 | Introducir contraseña
21 | Entrando en el modo de redistribución
22 | Rellenar el campo de texto
23 | Formato actualmente no soportado
24 | Resaltar
25 | Tinta
26 | Saliendo del modo de redistribución
27 | Más
28 | No
29 | No se han encontrado más casos
30 | Compartir el medio de almacenamiento con un PC puede hacerlo inaccesible
31 | Medio de almacenimiento no presente
32 | Texto no seleccionado
33 | No aceptado
34 | Nada que guardar
35 | OK
36 | Tabla de contenidos
37 | [Subir un nivel]
38 | %1$s %2$s: %3$s
39 | Imprimir
40 | No se ha imprimido
41 | Guardar
42 | Buscar
43 | Buscar hacia atrás
44 | Buscar documento
45 | Buscar hacia adelante
46 | Buscando…
47 | Seleccionar
48 | Seleccionar texto
49 | Tachar
50 | Texto no encontrado
51 | Resaltar y activar
52 | Subrayar
53 | Sí
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-et/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Nõustu
4 | MuPDF
5 | Tühista
6 | Ei saa avada puhvrit
7 | Ei saa avada dokumenti
8 | Ei saa avada dokumenti: %1$s
9 | Ei saa avada faili: %1$s
10 | Vali väärtus
11 | Kopeeritud lõikelauale
12 | Kopeeri
13 | kopeeri tekst
14 | Kopeeri tekst lõikelauale
15 | Kustuta
16 | Lõpeta
17 | Dokumendis on tehtud muudatusi. Kas salvestada need?
18 | Tee marginaal
19 | Redigeeri marginaale
20 | Sisesta salasõna
21 | Sisenen ümberpaigutamise režiimi
22 | Täida tekstiväli
23 | Vormingul puudub hetkel tugi
24 | Tõsta esile
25 | Tint
26 | Lahkun ümberpaigutamise režiimist
27 | Veel
28 | Ei
29 | Ei leitud rohkem juhtumeid
30 | Salvestuskandja jagamine arvutiga võib selle juurdepääsmatuks muuta
31 | Salvestuskandja puudub
32 | Teksti ei ole valitud
33 | Puudub tugi
34 | Ei ole midagi salvestada
35 | OK
36 | Sisukord
37 | [Taseme võrra üles]
38 | %1$s%2$s%3$s
39 | Prindi
40 | Printimine ebaõnnestus
41 | Salvesta
42 | Otsi
43 | Otsi tagasisuunas
44 | Otsi dokumendist
45 | Otsi edasisuunas
46 | Otsin…
47 | Vali
48 | Vali tekst
49 | Läbikriipsutus
50 | Teksti ei leitud
51 | Tõsta lingid esile ja luba need
52 | Jooni alla
53 | Jah
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-fi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hyväksy
4 | MuPDF
5 | Peruuta
6 | Puskuria ei voi avata
7 | Tiedostoa ei voi avata
8 | Ei voi avata tiedostoa: %1$s
9 | Ei voi avata tiedostoa: %1$s
10 | Valitse arvo
11 | Kopioitu leikepöydälle
12 | Kopioi
13 | kopio teksti
14 | Kopioi teksti leikepöydälle
15 | Poista
16 | Hylkää
17 | Tiedostossa on muutoksia. Haluatko tallentaa muutokset?
18 | Piirrä huomautus
19 | Muokkaa huomautuksia
20 | Anna salasana
21 | Siirrytään takaisinmuuntotilaan
22 | Täytä tekstikenttä
23 | Muotoa ei tällä hetkellä tueta
24 | Korosta
25 | Muste
26 | Poistutaan takaisinmuuntotilasta
27 | Lisää
28 | Ei
29 | Muita esiintymiä ei löydy
30 | Tallennustietovälineen jakaminen tietokoneen kanssa voi estää sen käyttämisen
31 | Tallennustietoväline ei ole käytössä
32 | Ei valittua tekstiä
33 | Ei tuettu
34 | Ei mitään tallennettavaa
35 | OK
36 | Sisällys
37 | [Yksi taso ylöspäin]
38 | %1$s %2$s: %3$s
39 | Tulosta
40 | Tulostus ei onnistunut
41 | Tallenna
42 | Haku
43 | Hae taaksepäin
44 | Hae tiedostosta
45 | Hae eteenpäin
46 | Haetaan …
47 | Valitse
48 | Valitse teksti
49 | Yliviivaa
50 | Tekstiä ei löydy
51 | Korosta ja ota käyttöön linkit
52 | Alleviivaa
53 | Kyllä
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-fr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Accepter
4 | MuPDF
5 | Annuler
6 | Impossible d\'ouvrir le buffer
7 | Impossible d\'ouvrir le document
8 | Impossible d\'ouvrir le document : %1$s
9 | Impossible d\'ouvrir le fichier : %1$s
10 | Choisir la valeur
11 | Copié dans le presse-papier
12 | Copier
13 | copier le texte
14 | Copier le texte sur le presse-papier
15 | Supprimer
16 | Ignorer
17 | Des modifications ont été effectuées au document. Les sauvegarder ?
18 | Dessiner une note
19 | Éditer une note
20 | Introduire le mot de passe
21 | Entrer en mode refusion
22 | Remplir le champ du texte
23 | Format non compatible pour l\'instant
24 | Surligner
25 | Encre
26 | Quitter le mode refusion
27 | Plus
28 | Non
29 | Aucune occurrence trouvée
30 | Sauvegarder le support de stockage avec un PC peut le rendre inaccessible
31 | Support de stockage absent
32 | Aucun texte sélectionné
33 | Non compatible
34 | Rien à sauvegarder
35 | OK
36 | Table des matières
37 | [Niveau supérieur]
38 | %1$s%2$s : %3$s
39 | Imprimer
40 | L\'impression a échoué
41 | Sauvegarder
42 | Rechercher
43 | Rechercher en arrière
44 | Rechercher document
45 | Rechercher en avant
46 | Chercher… ;
47 | Sélectionner
48 | Sélectionner le texte
49 | Rayer
50 | Texte introuvable
51 | Surligner et autoriser les liens
52 | Souligner
53 | Oui
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-hi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | स्वीकार करें
4 | MuPDF
5 | रद्द करें
6 | बफ़र खोल नहीं सके
7 | दस्तावेज़ खोल नहीं सके
8 | दस्तावेज़ नहीं खोल सके: %1$s
9 | फ़ाइल खोल नहीं सके: %1$s
10 | मान चुनें
11 | क्लिपबोर्ड में कॉप कर दिया गया
12 | कॉपी करें
13 | पाठ कॉपी करें
14 | पाठ को क्लिपबोर्ड में कॉपी करें
15 | हटाएँ
16 | खारिज करें
17 | दस्तावेज़ में परिवर्तन हैं। उन्हें सहेजें?
18 | एनोटेशन बनाएँ
19 | एनोटेशनों को संपादित करें
20 | पासवर्ड दर्ज करें
21 | रीफ़्लो मोड में प्रवेश कर रहे हैं
22 | पाठ फ़ील्ड को भरें
23 | इस समय इस फ़ॉर्मेट को समर्थन नहीं प्राप्त है
24 | हाइलाइट करें
25 | स्याही
26 | रीफ़्लो मोड को छोड़ रहे हैं
27 | और भी
28 | नहीं
29 | यह और कहीं नहीं मिला
30 | संग्रह माध्यम को पीसी के साथ साझा करने से उस तक पहुँचना मुश्किल हो सकता है
31 | संग्रह माध्यम मौजूद नहीं है
32 | कोई भी पाठ नहीं चुना गया है
33 | असमर्थित
34 | सहेजने के लिए कुछ नहीं है
35 | ठीक है
36 | विषय सूची
37 | [एक स्तर ऊपर]
38 | %1$s%2$s:%3$s
39 | मुद्रित करें
40 | मुद्रण विफल हुआ
41 | सहेजें
42 | खोजें
43 | पीछे की ओर खोजें
44 | दस्तावेज़ में खोजें
45 | आगे की ओर खोजें
46 | … को खोज रहे हैं;
47 | चुनें
48 | पाठ चुनें
49 | काटें
50 | पाठ नहीं मिला
51 | लिंकों को हाइलाइट और सक्षम करें
52 | रेखांकित करें
53 | हाँ
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-hu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Elfogadás
4 | MuPDF
5 | Mégse
6 | A puffert nem lehet megnyitni
7 | A dokumentumot nem lehet megnyitni
8 | A dokumentumot nem lehet megnyitni: %1$s
9 | A fájlt nem lehet megnyitni: %1$s
10 | Érték kiválasztása
11 | A vágólapra másolva
12 | Másolás
13 | szöveg másolása
14 | Szöveg másolása a vágólapra
15 | Törlés
16 | Bezárás
17 | A dokumentum módosítva lett. Menti a változtatásokat?
18 | Jegyzet rajzolása
19 | Jegyzetek szerkesztése
20 | Jelszó megadása
21 | Belépés az újrarendezési módba
22 | Szövegmező kitöltése
23 | A formátum jelenleg nem támogatott
24 | Kiemelés
25 | Kézírás
26 | Kilépés az újrarendezési módból
27 | Több
28 | Nem
29 | Nincsenek további találatok
30 | Az adathordozó a PC-vel való megosztás esetén elérhetetlenné válhat
31 | Nincs jelen adathordozó
32 | Nincs kijelölt szöveg
33 | Nem támogatott
34 | Nem kell semmit menteni
35 | OK
36 | Tartalomjegyzék
37 | [Egy szinttel feljebb]
38 | %1$s %2$s: %3$s
39 | Nyomtatás
40 | Nyomtatás sikertelen
41 | Mentés
42 | Keresés
43 | Keresés visszafelé
44 | Dokumentum keresése
45 | Keresés előrefelé
46 | Keresés:…
47 | Kijelölés
48 | Szöveg kijelölése
49 | Áthúzás
50 | Szöveg nem található
51 | Kiemelés és linkek engedélyezése
52 | Aláhúzás
53 | Igen
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-in/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Terima
4 | MuPDF
5 | Batal
6 | Tidak bisa membuka penyangga
7 | Tidak bisa membuka dokumen
8 | Tidak bisa membuka dokumen: %1$s
9 | Tidak bisa membuka berkas: %1$s
10 | Pilih nilai
11 | Disalin ke papan klip
12 | Salin
13 | Salin teks
14 | Salin teks ke papan klip
15 | Hapus
16 | Hilangkan
17 | Dokumen telah berubah. Simpan perubahan?
18 | Gambar anotasi
19 | Sunting anotasi
20 | Masukkan kata sandi
21 | Masuk mode alir-ulang
22 | Isi bidang teks
23 | Format ini tidak didukung
24 | Sorotan
25 | Tinta
26 | Tinggalkan mode alir-ulang
27 | Selengkapnya
28 | Tidak
29 | Tidak ditemukan kejadian lain
30 | Berbagi media penyimpanan dengan PC dapat membuatnya tidak bisa diakses
31 | Media penyimpanan tidak ada
32 | Tidak ada teks yang dipilih
33 | Tidak didukung
34 | Tidak ada yang disimpan
35 | Oke
36 | Daftar Isi
37 | [Naik satu tingkat]
38 | %1$s %2$s: %3$s
39 | Cetak
40 | Pencetakan gagal
41 | Simpan
42 | Cari
43 | Cari mundur
44 | Cari dokumen
45 | Cari maju
46 | Mencari…
47 | Pilih
48 | Pilih teks
49 | Gagal
50 | Teks tidak ditemukan
51 | Sorot dan aktifkan tautan
52 | Garis bawah
53 | Ya
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-it/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Accetta
4 | MuPDF
5 | Annulla
6 | Impossibile aprire buffering
7 | Impossibile aprire documento
8 | Impossibile aprire documento: %1$s
9 | Impossibile aprire file: %1$s
10 | Scegli valore
11 | Copiato negli appunti
12 | Copia
13 | copia testo
14 | Copia testo negli appunti
15 | Elimina
16 | Ignora
17 | Il documento contiene modifiche. Salvare?
18 | Disegna annotazione
19 | Modifica annotazione
20 | Inserisci password
21 | Inserimento modalità di adattamento dinamico del contenuto
22 | Riempi il campo di testo
23 | Formato attualmente non supportato
24 | Evidenzia
25 | Inchiostro
26 | Abbandono della modalità di adattamento dinamico del contenuto
27 | Altro
28 | No
29 | Nessun\'altra occorrenza trovata
30 | La condivisione del supporto di archiviazione con un PC può renderlo inaccessibile
31 | Supporto di archiviazione non presente
32 | Nessun testo selezionato
33 | Non supportato
34 | Niente da salvare
35 | Ok
36 | Sommario
37 | [Su di un livello]
38 | %1$s %2$s: %3$s
39 | Stampa
40 | Stampa non riuscita
41 | Salva
42 | Cerca
43 | Cerca indietro
44 | Cerca documento
45 | Cerca avanti
46 | Ricerca...
47 | Seleziona
48 | Seleziona testo
49 | Barrato
50 | Testo non trovato
51 | Evidenzia e abilita link
52 | Sottolinea
53 | Sì
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-iw/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | קבל
4 | MuPDF
5 | בטל
6 | אין אפשרות לפתוח מאגר
7 | אין אפשרות לפתוח מסמך
8 | אין אפשרות לפתוח מסמך: %1$s
9 | אין אפשרות לפתוח קובץ: %1$s
10 | בחר ערך
11 | הועתק ללוח
12 | העתק
13 | העתק טקסט
14 | העתק טקסט ללוח
15 | מחק
16 | התעלם
17 | קיימים שינויים במסמך. לשמור אותם?
18 | רשום ביאור
19 | ערוך ביאורים
20 | הזן סיסמה
21 | כניסה למצב הזרמה מחדש
22 | מלא את שדה הטקסט
23 | תבנית לא נתמכת כעת
24 | הבלטה
25 | דיו
26 | יציאה ממצב הזרמה מחדש
27 | עוד
28 | לא
29 | לא עוד
30 | שיתוף מדיית האחסון עם מחשב עשויה להפוך אותה לבלתי נגישה
31 | מדיית אחסון לא קיימת
32 | לא נבחר טקסט
33 | לא נתמך
34 | אין מה לשמור
35 | בסדר
36 | תוכן העניינים
37 | [למעלה ברמה אחת]
38 | %1$s %2$s: %3$s
39 | הדפס
40 | ההדפסה נכשלה
41 | שמור
42 | חפש
43 | חפש אחורה
44 | חפש במסמך
45 | חפש קדימה
46 | מחפש…
47 | בחר ערך
48 | בחר טקסט
49 | הדגש
50 | לא נמצא טקסט
51 | הבלט ואפשר קישורים
52 | קו תחתון
53 | כן
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 承諾する
4 | MuPDF
5 | キャンセル
6 | バッファーを開けません
7 | ドキュメントを開けません
8 | 次のドキュメントを開けません:%1$s
9 | 次のファイルを開けません: %1$s
10 | バリューを選択してください
11 | クリップボードにコピーされました
12 | コピー
13 | テキストをコピー
14 | テキストをクリップボードにコピー
15 | 削除
16 | 却下
17 | ドキュメントは変更されました。保存しますか?
18 | 注釈を挿入する
19 | 注釈を編集する
20 | パスワードを入力する
21 | リフローモードを開始する
22 | テキストフィールドに書き込む
23 | このフォーマットは現在サポートされていません
24 | ハイライト
25 | インク
26 | リフローモードを終了する
27 | もっと
28 | いいえ
29 | 他にオカレンスは見つかりませんでした
30 | 記憶媒体をPCとシェアするとアクセスできなくなる可能性があります
31 | 記憶媒体が見つかりません
32 | テキストが選択されていません
33 | サポートされていません
34 | 保存するものがありません
35 | 了解
36 | 目次
37 | [一つ上位のレベル]
38 | %1$s %2$s: %3$s
39 | 印刷
40 | 印刷に失敗しました
41 | 保存
42 | 検索
43 | 逆方向検索
44 | ドキュメントを検索する
45 | 順方向検索
46 | 検索中
47 | 選択
48 | テキストを選択する
49 | 取り消し線を引く
50 | テキストが見つかりません
51 | ハイライトしてリンクを有効にする
52 | 下線を引く
53 | はい
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-ko/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 수락
4 | MuPDF
5 | 취소
6 | 버퍼 열 수 없음
7 | 문서 열 수 없음
8 | 문서 열 수 없음: %1$s
9 | 파일 열 수 없음: %1$s
10 | 값 선택
11 | 클립보드로 복사됨
12 | 복사
13 | 텍스트 복사
14 | 클립보드로 텍스트 복사
15 | 삭제
16 | 무시
17 | 문서에 변경사항이 있습니다. 저장?
18 | 주석달기
19 | 주석 편집
20 | 패스워드 입력
21 | 리플로우 모드 시작
22 | 텍스트 입력란에 기입하십시오.
23 | 현재 지원되지 않는 포맷
24 | 주요기능
25 | 잉크
26 | 리플로우 모드 해제
27 | 기타
28 | 아니오
29 | 발견된 추가 발생 없음
30 | PC와 스토리지 미디어를 공유하면 액세스할 수 없습니다.
31 | 스토리지 미디어 없음
32 | 선택된 텍스트 없음
33 | 지원 안됨
34 | 저장 대상 없음
35 | 확인
36 | 목차
37 | [레벨 한 단계 상승]
38 | %1$s %2$s: %3$s
39 | 인쇄
40 | 인쇄 실패
41 | 저장
42 | 검색
43 | 뒤로 검색
44 | 문서 검색
45 | 앞으로 검색
46 | 검색 중…
47 | 선택
48 | 텍스트 선택
49 | 삭제
50 | 발견된 텍스트 없음
51 | 하이라이트 및 링크 활성화
52 | 밑줄
53 | 예
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-lt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Priimti
4 | „MuPDF“
5 | Atšaukti
6 | Nepavyksta atverti buferinės atmintinės
7 | Nepavyksta atverti dokumento
8 | Nepavyksta atverti dokumento: %1$s
9 | Nepavyksta atverti failo: %1$s
10 | Pasirinkti vertę
11 | Nukopijuota į iškarpinę
12 | Kopijuoti
13 | kopijuoti tekstą
14 | Kopijuoti tekstą į iškarpinę
15 | Naikinti
16 | Atmesti
17 | Dokumente yra pakeitimų. Ar juos įrašyti?
18 | Braižyti anotaciją
19 | Redaguoti anotacijas
20 | Įvesti slaptažodį
21 | Pereinama į pertvarkymo režimą
22 | Užpildyti teksto lauką
23 | Formatas šiuo metu nedera
24 | Pažymėti
25 | Rašalas
26 | Išeinama iš pertvarkymo režimo
27 | Daugiau
28 | Ne
29 | Daugiau įrašų nerasta
30 | Pabendrinus laikmeną su kompiuteriu, ji gali tapti nebepasiekiama
31 | Laikmenos nėra
32 | Neparinktas tekstas
33 | Nedera
34 | Nėra ką įrašyti
35 | Gerai
36 | Turinys
37 | [Vienu lygiu aukštyn]
38 | %1$s %2$s: %3$s
39 | Spausdinti
40 | Išspausdinti nepavyko
41 | Įrašyti
42 | Ieškoti
43 | Ieškoti atgal
44 | Ieškoti dokumente
45 | Ieškoti pirmyn
46 | Ieškoma…
47 | Pasirinkti
48 | Pasirinkti tekstą
49 | Išbraukti
50 | Teksto nerasta
51 | Pažymėti ir įjungti nuorodas
52 | Pabraukti
53 | Taip
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-ms/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Terima
4 | MuPDF
5 | Batal
6 | Tidak boleh membuka penimbal
7 | Tidak boleh membuka dokumen
8 | Tidak boleh membuka dokumen: %1$s
9 | Tidak boleh membuka fail: %1$s
10 | Pilih nilai
11 | Disalin ke papan klip
12 | Salin
13 | salin teks
14 | Salin teks ke papan klip
15 | Padam
16 | Singkir
17 | Dokumen mempunyai perubahan. Simpankannya?
18 | Lakarkan catatan
19 | Suntingkan catatan
20 | Masukkan kata laluan
21 | Memasuki mod penyusunan semula
22 | Mengisi medan teks
23 | Format buat masa ini tidak disokong
24 | Serlahkan
25 | Dakwat
26 | Meninggalkan mod penyusunan semula
27 | Lagi
28 | Tidak
29 | Tiada kejadian lanjut ditemui
30 | Berkongsi media storan dengan PC boleh menjadikannya tidak dapat dicapai
31 | Media storan tidak wujud
32 | Tiada teks dipilih
33 | Tidak disokong
34 | Tiada apa untuk disimpan
35 | Okey
36 | Jadual Kandungan
37 | [Naik satu tahap]
38 | %1$s %2$s: %3$s
39 | Cetak
40 | Gagal dicetak
41 | Simpan
42 | Carian
43 | Carian ke belakang
44 | Carian dokumen
45 | Carian ke depan
46 | Mencari…
47 | Pilih
48 | Pilih teks
49 | Mansuhkan
50 | Teks tidak ditemui
51 | Serlahkan dan dayakan pautan
52 | Gariskan
53 | Ya
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-nl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Accepteren
4 | MuPDF
5 | Annuleren
6 | Buffer kan niet geopend worden
7 | Document kan niet geopend worden
8 | Document kan niet geopend worden: %1$s
9 | Bestand kan niet geopend worden : %1$s
10 | Kies waarde
11 | Gekopieerd naar klembord
12 | Kopiëren
13 | tekst kopiëren
14 | Tekst kopiëren naar klembord
15 | Verwijderen
16 | Afwijzen
17 | Het document is gewijzigd. Opslaan?
18 | Opmerking tekenen
19 | Opmerkingen bewerken
20 | Voer wachtwoord in
21 | Conversiemodus wordt geopend
22 | Vul het tekstveld in
23 | Formaat wordt momenteel niet ondersteund
24 | Markeren
25 | Inkten
26 | Conversiemodus wordt beëindigd
27 | Meer
28 | Nee
29 | Geen andere resultaten gevonden
30 | Het opslagmedium kan ontoegankelijk worden als het met een pc wordt gedeeld
31 | Geen opslagmedium aanwezig
32 | Geen tekst geselecteerd
33 | Niet ondersteund
34 | Niets om op te slaan
35 | Oké
36 | Inhoudsopgave
37 | [Een niveau hoger]
38 | %1$s %2$s: %3$s
39 | Afdrukken
40 | Afdrukken mislukt
41 | Opslaan
42 | Zoeken
43 | Achterstevoren zoeken
44 | Document doorzoeken
45 | Vooruit zoeken
46 | Aan het zoeken …
47 | Selecteren
48 | Tekst selecteren
49 | Doorhalen
50 | Tekst niet gevonden
51 | Markeren en koppelingen inschakelen
52 | Onderstrepen
53 | Ja
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-no/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Aksepter
4 | MuPDF
5 | Avbryt
6 | Kan ikke åpne buffer
7 | Kan ikke åpne dukumentet
8 | Kan ikke åpne dokumentet: %1$s
9 | Kan ikke åpne filen: %1$s
10 | Velg verdi
11 | Kopiert til utklippstavlen
12 | Kopier
13 | kopier tekst
14 | Kopier teksten til utklippstavlen
15 | Slett
16 | Avvis
17 | Det er endringer i dokumentet. Lagre dem?
18 | Lag merknad
19 | Rediger merknader
20 | Skriv inn passord
21 | Bytter til konverteringsmodus
22 | Fyll ut tekstfeltet
23 | Formatet er ikke støttet for øyeblikket
24 | Uthev
25 | Håndskrift
26 | Går ut av konverteringsmodus
27 | Mer
28 | Nei
29 | Ingen flere hendelser funnet
30 | Deling av lagringsmedia med en PC kan gjøre det utilgjengelig
31 | Lagringsmedia ikke til stede
32 | Ingen tekst er valgt
33 | Ikke støttet
34 | Ingenting å lagre
35 | Ok
36 | Innholdsfortegnelse
37 | [OPP ett nivå]
38 | %1$s%2$s%3$s
39 | Skriv ut
40 | Kunne ikke skrive ut
41 | Lagre
42 | Søk
43 | Søk bakover
44 | Søk i dokument
45 | Søk framover
46 | Søker…
47 | Velg
48 | Valgt tekst
49 | Gjennomstreking
50 | Teksten ble ikke funnet
51 | Uthev og aktiver koblinger
52 | Understrek
53 | Ja
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-pl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Zaakceptuj
4 | MuPDF
5 | Anuluj
6 | Nie można otworzyć bufora
7 | Nie można otworzyć dokumentu
8 | Nie można otworzyć dokumentu: %1$s
9 | Nie można otworzyć pliku: %1$s
10 | Wybierz wartość
11 | Skopiowano do schowka
12 | Kopiuj
13 | kopiuj tekst
14 | Kopiuj tekst do schowka
15 | Usuń
16 | Odrzuć
17 | W dokumencie dokonano zmian. Czy chcesz je zapisać?
18 | Sporządź notatkę
19 | Edytuj notatki
20 | Wprowadź hasło
21 | Włączanie trybu zawijania tekstu
22 | Wypełnij pole tekstowe
23 | Format obecnie nieobsługiwany
24 | Podświetl
25 | Atrament
26 | Wyłączanie trybu zawijania tekstu
27 | Więcej
28 | Nie
29 | Nie znaleziono więcej wystąpień
30 | Współdzielenie nośnika danych z komputerem PC może sprawić, że będzie niedostępny
31 | Nośnik danych niedostępny
32 | Nie wybrano tekstu
33 | Nieobsługiwany
34 | Nie ma nic do zapisania
35 | OK
36 | Spis treści
37 | [W górę o jeden poziom]
38 | %1$s %2$s: %3$s
39 | Drukuj
40 | Drukowanie nieudane
41 | Zapisz
42 | Szukaj
43 | Szukaj z tyłu
44 | Szukaj w dokumencie
45 | Szukaj z przodu
46 | Wyszukiwanie…
47 | Wybierz
48 | Wybierz tekst
49 | Przekreślenie
50 | Nie znaleziono tekstu
51 | Podświetl i aktywuj linki
52 | Podkreślenie
53 | Tak
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-pt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Aceitar
4 | MuPDF
5 | Cancelar
6 | Não é possível abrir a memória intermédia
7 | Não é possível abrir o documento
8 | Não é possível abrir o documento: %1$s
9 | Não é possível abrir o ficheiro: %1$s
10 | Escolha um valor
11 | Copiado para a área de transferência
12 | Copiar
13 | copiar o texto
14 | Copiar o texto para a área de transferência
15 | Eliminar
16 | Desistir
17 | Há alterações ao documento. Deseja guardá-las?
18 | Adicionar anotação
19 | Editar anotações
20 | Escrever a palavra-passe
21 | A entrar no modo de refluxo
22 | Preencher o campo de texto
23 | Esse formato não é atualmente suportado
24 | Destacar
25 | Tinta
26 | A sair do modo de refluxo
27 | Mais
28 | Não
29 | Não foram encontradas mais ocorrências
30 | Partilhar o dispositivo de armazenamento com um PC poderá torná-lo inacessível
31 | O dispositivo de armazenamento não está presente
32 | Não há texto selecionado
33 | Não suportado
34 | Não há nada para guardar
35 | Okay
36 | Índice
37 | [subir um nível]
38 | %1$s%2$s: %3$s
39 | Imprimir
40 | Falha na Impressão
41 | Guardar
42 | Pesquisar
43 | Pesquisar para trás
44 | Pesquisar no documento
45 | Pesquisar para a frente
46 | A pesquisar…
47 | Selecionar
48 | Selecionar o texto
49 | Rasurado
50 | Texto não encontrado
51 | Destacar e permitir links
52 | Sublinhado
53 | Sim
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-ru/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Принять
4 | MuPDF
5 | Отмена
6 | Невозможно открыть буфер
7 | Невозможно открыть документ
8 | Невозможно открыть документ: %1$s
9 | Невозможно открыть файл: %1$s
10 | Выберите значение
11 | Скопировано в буфер
12 | Копировать
13 | копировать текст
14 | Копировать текст в буфер
15 | Удалить
16 | Пропустить
17 | Документ был изменен. Сохранить изменения?
18 | Создать аннтоацию
19 | Редактировать аннотации
20 | Введите пароль
21 | Переход в режим Reflow
22 | Заполните текстовое поле
23 | Формат не поддерживается
24 | Выделить
25 | Чернила
26 | Выход из режима Reflow
27 | Еще
28 | Нет
29 | Других ошибок не зафиксировано
30 | Подключение компьютеров к хранилищу данных может привести к потере доступа к хранилищу
31 | Хранилище данных отсутствует
32 | Текст не выбран
33 | Не поддерживается
34 | Не выбраны файлы для сохранения
35 | ОК
36 | Содержание
37 | [Вверх на один уровень]
38 | %1$s %2$s: %3$s
39 | Печать
40 | Печать не выполнена
41 | Сохранить
42 | Поиск
43 | Искать в предыдущей части документа
44 | Искать в документе
45 | Искать в остальной части документа
46 | Поиск…
47 | Выбор
48 | Выбрать текст
49 | Зачеркнуть
50 | Текст не найден
51 | Выделить и включить ссылки
52 | Подчеркнуть
53 | Да
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-sk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Prijať
4 | MuPDF
5 | Zrušiť
6 | Buffer sa nedá otvoriť
7 | Dokument sa nedá otvoriť
8 | Nedá sa otvoriť dokument: %1$s
9 | Nedá sa otvoriť súbor: %1$s
10 | Vyberte si hodnotu
11 | Skopírované do vyrovnávacej pamäti
12 | Kopírovať
13 | kopírovať text
14 | Kopírovať text do vyrovnávacej pamäti
15 | Zmazať
16 | Zrušiť
17 | Dokument bol zmený. Uložiť zmeny?
18 | Zostaviť anotáciu
19 | Upraviť anotácie
20 | Zadať heslo
21 | Vstupujem do režimu opätovného nalievania
22 | Vyplniť textové pole
23 | Tento formát momentálne nepodporujem
24 | Zvýrazniť
25 | Atrament
26 | Vystupujem z režimu opätovného nalievania
27 | Viac
28 | Nie
29 | Viac príkladov sa nenašlo
30 | Zdieľanie úložného média s PC môže znemožniť prístup
31 | Nie je tu úložné médium
32 | Žiadny text nie je vybraný
33 | Nepodporované
34 | Niet čo uložiť
35 | Dobre
36 | Obsah
37 | [O úroveň vyššie]
38 | %1$s %2$s: %3$s
39 | Tlačiť
40 | Tlačenie zlyhalo
41 | Uložiť
42 | Hľadať
43 | Hľadať spätne
44 | Hľadať v dokumente
45 | Hľadať dopredu
46 | Hľadám…
47 | Vybrať
48 | Vybrať text
49 | Preškrtnúť
50 | Text sa nenašiel
51 | Zvýrazniť a zapnúť linky
52 | Podčiarknúť
53 | Áno
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-sv/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Acceptera
4 | MuPDF
5 | Avbryt
6 | Kan inte öppna buffer
7 | Kan inte öppna dokument
8 | Kan inte öppna dokument: %1$s
9 | Kan inte öppna fil: %1$s
10 | Välj värde
11 | Kopierat till klippbordet
12 | Kopiera
13 | kopiera text
14 | Kopiera text till klippbordet
15 | Ta bort
16 | Avfärda
17 | Dokumentet har ändrats. Spara ändringar?
18 | Rita annotation
19 | Ändra annotation
20 | Fyll i lösenord
21 | Aktiverar reflow-läge
22 | Fyll i textfält
23 | Formatat stöds inte för närvarande
24 | Markera
25 | Bläck
26 | Lämnar reflow-läge
27 | Mer
28 | Nej
29 | Inga flera förekomster hittades
30 | Att dela lagringsmediet med en PC kan göra den oåtkomlig
31 | Lagringsmedia finns inte
32 | Ingen text har valts
33 | Stöds ej
34 | Inget att spara
35 | OK
36 | Innehållsförteckning
37 | [Upp en nivå]
38 | %1$s %2$s: %3$s
39 | Skriv ut
40 | Utskrift misslyckades
41 | Spara
42 | Sök
43 | Sök bakåt
44 | Sök dokument
45 | Sök framåt
46 | Letar…
47 | Välj
48 | Välj text
49 | Stryk
50 | Text hittades ej
51 | Markera och aktivera länkar
52 | Understryk
53 | Ja
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-th/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | ยอมรับ
4 | MuPDF
5 | ยกเลิก
6 | ไม่สามารถเปิดบัฟเฟอร์
7 | ไม่สามารถเปิดเอกสาร
8 | ไม่สามารถเปิดเอกสาร: %1$s
9 | ไม่สามารถเปิดไฟล์: %1$s
10 | เลือกค่า
11 | คัดลอกไปที่คลิปบอร์ดแล้ว
12 | คัดลอก
13 | คัดลอกข้อความ
14 | คัดลอกข้อความไปที่คลิปบอร์ด
15 | ลบ
16 | เลิกใช้
17 | เอกสารมีการเปลี่ยนแปลง ต้องการบันทึกหรือไม่
18 | เขียนคำอธิบายประกอบ
19 | แก้ไขคำอธิบายประกอบ
20 | ป้อนรหัสผ่าน
21 | เข้าสู่โหมดเรียงหน้ากระดาษใหม่
22 | เติมในช่องข้อความ
23 | ไม่รองรับรูปแบบในขณะนี้
24 | ไฮไลท์
25 | หมึก
26 | ออกจากโหมดเรียงหน้ากระดาษใหม่
27 | เพิ่มเติม
28 | ไม่
29 | ไม่พบเหตุการณ์ที่เกิดขึ้นเพิ่มเติม
30 | การแบ่งปันสื่อจัดเก็บข้อมูลกับพีซีสามารถทำให้สื่อจัดเก็บข้อมูลไม่สามารถเข้าถึงได้
31 | สื่อเก็บข้อมูลไม่ปรากฏ
32 | ไม่มีข้อความที่เลือก
33 | ไม่รองรับ
34 | ไม่มีอะไรให้บันทึก
35 | ตกลง
36 | สารบัญ
37 | [ขึ้นหนึ่งระดับ]
38 | %1$s %2$s: %3$s
39 | พิมพ์
40 | พิมพ์ล้มเหลว
41 | บันทึก
42 | ค้นหา
43 | ค้นหาย้อนกลับ
44 | ค้นหาเอกสาร
45 | ค้นหาไปข้างหน้า
46 | กำลังค้นหา…
47 | เลือก
48 | เลือกข้อความ
49 | ขีดทับ
50 | ไม่พบข้อความ
51 | ไฮไลท์และเปิดใช้งานลิงก์
52 | ขีดเส้นใต้
53 | ใช่
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-tl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Tanggapin
4 | MuPDF
5 | Kanselahin
6 | Hindi mabuksan ang buffer
7 | Hindi mabuksan ang dokumento
8 | Hindi mabuksan ang dokumentong: %1$s
9 | Hindi mabuksan ang file na: %1$s
10 | Pumili ng halaga
11 | Kinopya sa clipboard
12 | Kopyahin
13 | kopyahin ang teksto
14 | Kopyahin ang teksto sa clipboard
15 | Alisin
16 | Umalis
17 | May mga pagbabago sa dokumento. I-save ang mga ito?
18 | Gumuhit ng anotasyon
19 | I-edit ang mga anotasyon
20 | Ilagay ang password
21 | Pumapasok sa reflow mode
22 | Punan ang puwang para sa teksto
23 | Ang format ay kasalukuyang hindi gumagana dito
24 | I-highlight
25 | Lagdaan (Ink)
26 | Umaalis sa reflow mode
27 | Higit pa
28 | Hindi
29 | Walang nahanap na karagdagang paglitaw
30 | Ang pagbabahagi ng storage media sa isang PC ay gagawin itong hindi magagamit
31 | Walang storage media
32 | Walang piniling teksto
33 | Hindi gumagana dito
34 | Walang ise-save
35 | Okay
36 | Talaan ng Nilalaman
37 | [Umakyat ng isang antas]
38 | %1$s %2$s: %3$s
39 | I-print
40 | Hindi nai-print
41 | I-save
42 | Maghanap
43 | Maghanap pabalik
44 | Maghanap sa dokumento
45 | Maghanap nang pasulong
46 | Hinahanap ang…
47 | Piliin
48 | Piliin ang teksto
49 | Guhitan ang teksto (strike-out)
50 | Hindi nahanap ang teksto
51 | I-highlight at paganahin ang mga link
52 | Guhitan
53 | Oo
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-tr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Kabul et
4 | MuPDF
5 | İptal et
6 | Arabellek açılamıyor
7 | Belge açılamıyor
8 | Belge açılamıyor: %1$s
9 | Dosya açılamıyor: %1$s
10 | Değeri seç
11 | Panoya kopyalandı
12 | Kopyala
13 | metni kopyala
14 | Metni panoya kopyala
15 | Sil
16 | Bırak
17 | Belgede değişiklikler var. Kaydetmek istiyor musunuz?
18 | Ek açıklama çiz
19 | Ek açıklamalar düzenle
20 | Şifreyi gir
21 | Yeniden akma moduna giriyor
22 | Metin alanını doldurun
23 | Bu format şu an için desteklenmiyor
24 | Vurgula
25 | Mürekkep
26 | Yeniden akma modundan çıkılıyor
27 | Daha fazla
28 | Hayır
29 | Daha fazla öğe bulunamadı
30 | Depolama ortamının bilgisayar ile paylaşımı onu erişilmez yapabilir
31 | Depolama ortamı bulunmuyor
32 | Seçili metin bulunmuyor
33 | Desteklenmiyor
34 | Kaydedecek bir şey yok
35 | Tamam
36 | İçindekiler Tablosu
37 | [Bir seviye üste çık]
38 | %1$s %2$s: %3$s
39 | Yazdır
40 | Yazdırma başarısız oldu
41 | Kaydet
42 | Ara
43 | Geriye doğru ara
44 | Belge ara
45 | İleriye doğru ara
46 | Aranıyor…
47 | Seç
48 | Metin seç
49 | Üstünü çiz
50 | Metin bulunamadı
51 | Bağlantıları vurgula ve etkinleştir
52 | Altını çiz
53 | Evet
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-zh-rTW/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 同意
4 | MuPDF
5 | 取消
6 | 未能開啟緩衝
7 | 未能開啟文件
8 | 未能開啟文件: %1$s
9 | 未能開啟檔案%1$s
10 | 選擇數值
11 | 複製至剪貼簿
12 | 複製
13 | 複製文字
14 | 複製文字至剪貼簿
15 | 刪除
16 | 取消
17 | 你需要儲存已編輯的文件嗎?
18 | 繪畫註釋
19 | 編輯註釋
20 | 輸入密碼
21 | 根據螢幕大小顯示
22 | 填寫文字欄
23 | 暫時不支援此格式
24 | 標示重點
25 | 墨水
26 | 不根據螢幕大小顯示
27 | 更多
28 | 沒有
29 | 沒有相符項目
30 | 未能與電腦分享存放裝置
31 | 沒有存放裝置
32 | 沒有選擇文字
33 | 不支援
34 | 沒有資料儲存
35 | 完成
36 | 目錄
37 | [升一級]
38 | %1$s%2$s%3$s
39 | 列印
40 | 列印失敗
41 | 儲存
42 | 搜尋
43 | 往後搜尋
44 | 搜尋文件
45 | 往前搜尋
46 | 搜尋中…
47 | 選擇
48 | 選擇文字
49 | 刪除線
50 | 未能找到文字
51 | 標示及允許連結
52 | 在下面劃線
53 | 是
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values-zh/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 接受
4 | MuPDF
5 | 取消
6 | 无法打开缓冲器
7 | 无法打开文档
8 | 无法打开文档: %1$s
9 | 无法打开文件:%1$s
10 | 选择值
11 | 已复制到剪贴板
12 | 复制
13 | 复制文本
14 | 将文本复制到剪贴板
15 | 删除
16 | 解除
17 | 文档已变更,保存变更吗?
18 | 作批注
19 | 编辑批注
20 | 输入密码
21 | 输入重排模式
22 | 填充文本字段
23 | 当前不支持此格式
24 | 高亮
25 | 墨迹
26 | 正在离开重排模式
27 | 更多
28 | 否
29 | 未发现更多实例。
30 | 存储介质在设备和 PC 上共同使用,会导致该存储介质在设备上无法被访问
31 | 没有存储介质
32 | 未选择文本
33 | 不被支持
34 | 没有要保存的内容
35 | 确定
36 | 目录
37 | [向上一级]
38 | %1$s%2$s:%3$s
39 | 打印
40 | 未能打印
41 | 保存
42 | 搜索
43 | 向后搜索
44 | 搜索文档
45 | 向前搜索
46 | 正在搜索…
47 | 选择
48 | 选择文本
49 | 删除线
50 | 未发现文本
51 | 高亮并启用墨迹
52 | 下划线
53 | 是
54 |
55 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #404040
4 | #C0000000
5 | #C0202020
6 | #C0202020
7 | #00000000
8 | #FF2572AC
9 | #FFFFFF
10 | #FFFFFF
11 | #000000
12 | #2572AC
13 | #000000
14 | #2572AC
15 | #FFFFFF
16 |
17 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1.6
5 | Storage media not present
6 | Sharing the storage media with a PC can make it inaccessible
7 | Cancel
8 | Search backwards
9 | Search forwards
10 | Search document
11 | %1$s %2$s: %3$s
12 | Table of Contents
13 | Enter password
14 | Text not found
15 | Searching…
16 | Highlight and enable links
17 | No further occurrences found
18 | Select
19 | Search
20 | Copy
21 | Strike-out
22 | Delete
23 | Highlight
24 | Underline
25 | Edit annotations
26 | Ink
27 | Save
28 | Print
29 | Dismiss
30 | [Up one level]
31 | Yes
32 | No
33 | Entering reflow mode
34 | Leaving reflow mode
35 | Print failed
36 | Select text
37 | Copied to clipboard
38 | No text selected
39 | Draw annotation
40 | Nothing to save
41 | Document has changes. Save them?
42 | Cannot open document
43 | Cannot open document: %1$s
44 | Cannot open file: %1$s
45 | Cannot open buffer
46 | Fill out text field
47 | Okay
48 | Choose value
49 | Not supported
50 | Copy text to the clipboard
51 | More
52 | Accept
53 | copy text
54 | Format currently not supported
55 | Toggle reflow mode
56 |
57 |
--------------------------------------------------------------------------------
/mupdflibrary/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
--------------------------------------------------------------------------------
/sample/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/sample/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 22
5 | buildToolsVersion "22.0.1"
6 | defaultConfig {
7 | applicationId "com.tekinarslan.sample"
8 | minSdkVersion 14
9 | targetSdkVersion 22
10 | versionCode 1
11 | versionName "1.0"
12 | }
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile fileTree(dir: 'libs', include: ['*.jar'])
23 | compile 'com.android.support:support-v4:22.0.0'
24 | compile project(':mupdflibrary')
25 | }
26 |
--------------------------------------------------------------------------------
/sample/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:/Program Files (x86)/Android/android-sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/sample/src/androidTest/java/com/tekinarslan/sample/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.tekinarslan.sample;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/sample/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
12 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/sample/src/main/java/com/tekinarslan/sample/PdfFragment.java:
--------------------------------------------------------------------------------
1 | package com.tekinarslan.sample;
2 |
3 | import android.app.Fragment;
4 | import android.content.Context;
5 | import android.net.Uri;
6 | import android.os.Bundle;
7 | import android.util.Log;
8 | import android.view.LayoutInflater;
9 | import android.view.View;
10 | import android.view.ViewGroup;
11 | import android.widget.RelativeLayout;
12 |
13 | import com.artifex.mupdfdemo.MuPDFCore;
14 | import com.artifex.mupdfdemo.MuPDFPageAdapter;
15 | import com.artifex.mupdfdemo.MuPDFReaderView;
16 | import com.artifex.mupdfdemo.SearchTask;
17 | import com.artifex.mupdfdemo.SearchTaskResult;
18 |
19 | public class PdfFragment extends Fragment {
20 | private RelativeLayout mainLayout;
21 | private MuPDFCore core;
22 | private MuPDFReaderView mDocView;
23 | private Context mContext;
24 | private String mFilePath;
25 | Bundle args = new Bundle();
26 | private static final String TAG = "PdfFragment";
27 | private SearchTask mSearchTask;
28 |
29 | public PdfFragment() {
30 | }
31 |
32 | @Override
33 | public View onCreateView(LayoutInflater inflater, ViewGroup container,
34 | Bundle savedInstanceState) {
35 | mContext = getActivity();
36 | args = this.getArguments();
37 | mFilePath = args.getString("filepath");
38 | View rootView = inflater.inflate(R.layout.pdf, container, false);
39 | mainLayout = (RelativeLayout) rootView.findViewById(R.id.pdflayout);
40 |
41 | core = openFile(Uri.decode(mFilePath));
42 |
43 | if (core != null && core.countPages() == 0) {
44 | core = null;
45 | }
46 | if (core == null || core.countPages() == 0 || core.countPages() == -1) {
47 | Log.e(TAG, "Document Not Opening");
48 | }
49 | if (core != null) {
50 | mDocView = new MuPDFReaderView(getActivity()) {
51 | @Override
52 | protected void onMoveToChild(int i) {
53 | if (core == null)
54 | return;
55 | super.onMoveToChild(i);
56 | }
57 |
58 | };
59 |
60 | mDocView.setAdapter(new MuPDFPageAdapter(mContext, core));
61 | mainLayout.addView(mDocView);
62 | }
63 |
64 | mSearchTask = new SearchTask(mContext, core) {
65 |
66 | @Override
67 | protected void onTextFound(SearchTaskResult result) {
68 | SearchTaskResult.set(result);
69 | mDocView.setDisplayedViewIndex(result.pageNumber);
70 | mDocView.resetupChildren();
71 | }
72 | };
73 |
74 | return rootView;
75 | }
76 |
77 | public void search(int direction, String text) {
78 | int displayPage = mDocView.getDisplayedViewIndex();
79 | SearchTaskResult r = SearchTaskResult.get();
80 | int searchPage = r != null ? r.pageNumber : -1;
81 | mSearchTask.go(text, direction, displayPage, searchPage);
82 | }
83 |
84 |
85 | private MuPDFCore openBuffer(byte[] buffer) {
86 | System.out.println("Trying to open byte buffer");
87 | try {
88 | core = new MuPDFCore(mContext, buffer);
89 |
90 | } catch (Exception e) {
91 | Log.e(TAG, e.getMessage());
92 | return null;
93 | }
94 | return core;
95 | }
96 |
97 | private MuPDFCore openFile(String path) {
98 | int lastSlashPos = path.lastIndexOf('/');
99 | mFilePath = new String(lastSlashPos == -1
100 | ? path
101 | : path.substring(lastSlashPos + 1));
102 | try {
103 | core = new MuPDFCore(mContext, path);
104 | // New file: drop the old outline data
105 | } catch (Exception e) {
106 | Log.e(TAG, e.getMessage());
107 | return null;
108 | }
109 | return core;
110 | }
111 |
112 | public void onDestroy() {
113 | if (core != null)
114 | core.onDestroy();
115 | core = null;
116 | super.onDestroy();
117 | }
118 |
119 | @Override
120 | public void onPause() {
121 | super.onPause();
122 | if (mSearchTask != null)
123 | mSearchTask.stop();
124 | }
125 | }
126 |
127 |
128 |
--------------------------------------------------------------------------------
/sample/src/main/java/com/tekinarslan/sample/SampleActivity.java:
--------------------------------------------------------------------------------
1 | package com.tekinarslan.sample;
2 |
3 | import android.app.Activity;
4 | import android.app.FragmentManager;
5 | import android.app.SearchManager;
6 | import android.content.Context;
7 | import android.os.Bundle;
8 | import android.os.Environment;
9 | import android.view.Menu;
10 | import android.view.MenuInflater;
11 | import android.widget.SearchView;
12 |
13 | import java.io.File;
14 |
15 | /**
16 | * Created by selim_tekinarslan on 10.10.2014.
17 | */
18 | public class SampleActivity extends Activity {
19 | private static final String TAG = "SampleActivity";
20 | private static final String SAMPLE_FILE = "sample.pdf";
21 | private static final String FILE_PATH = "filepath";
22 | private static final String SEARCH_TEXT = "text";
23 | private PdfFragment fragment;
24 | private static Context context;
25 |
26 | @Override
27 | protected void onCreate(Bundle savedInstanceState) {
28 | super.onCreate(savedInstanceState);
29 | setContentView(R.layout.main);
30 | context = SampleActivity.this;
31 | openPdfWithFragment();
32 |
33 | }
34 |
35 |
36 | @Override
37 | public boolean onCreateOptionsMenu(Menu menu) {
38 | MenuInflater inflater = getMenuInflater();
39 | inflater.inflate(R.menu.main, menu);
40 | SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
41 | SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
42 | searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
43 | SearchView.OnQueryTextListener textChangeListener = new SearchView.OnQueryTextListener() {
44 | @Override
45 | public boolean onQueryTextChange(String newText) {
46 | return true;
47 | }
48 |
49 | @Override
50 | public boolean onQueryTextSubmit(String query)//burada klavyeden ara ya basiyor user
51 | {
52 | fragment.search(1, query);
53 | return true;
54 | }
55 | };
56 | searchView.setOnQueryTextListener(textChangeListener);
57 | return super.onCreateOptionsMenu(menu);
58 | }
59 |
60 | public void openPdfWithFragment() {
61 | fragment = new PdfFragment();
62 | Bundle args = new Bundle();
63 | args.putString(FILE_PATH, Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + SAMPLE_FILE);
64 | fragment.setArguments(args);
65 | FragmentManager fragmentManager = getFragmentManager();
66 | fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
67 | }
68 |
69 | }
70 |
--------------------------------------------------------------------------------
/sample/src/main/res/drawable-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/sample/src/main/res/drawable-hdpi/logo.png
--------------------------------------------------------------------------------
/sample/src/main/res/drawable-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/sample/src/main/res/drawable-mdpi/logo.png
--------------------------------------------------------------------------------
/sample/src/main/res/drawable-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/sample/src/main/res/drawable-xhdpi/logo.png
--------------------------------------------------------------------------------
/sample/src/main/res/drawable-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tekinarslan/AndroidPdfViewer/HEAD/sample/src/main/res/drawable-xxhdpi/logo.png
--------------------------------------------------------------------------------
/sample/src/main/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/sample/src/main/res/layout/pdf.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/sample/src/main/res/menu/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
--------------------------------------------------------------------------------
/sample/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | PDF Viewer Sample
3 |
4 |
--------------------------------------------------------------------------------
/sample/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
10 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':sample', ':mupdflibrary'
--------------------------------------------------------------------------------