私はアプリで[〜#〜] pdf [〜#〜]を読むことができるものに取り組んでおり、PDF view in my カスタムレイアウト。好みでしたAndroid PDF Viewer実行したときzoomIn、zoomOut時間がかかりすぎる時間。
したがって、現在はMuPDFオープンソースプロジェクトをプロジェクトに統合するために使用することになっています。これは[〜#〜] jni [〜#〜]に基づいており、使用されていませんそれに。
Cygwinを使用して、ネイティブコードのライブラリをビルドしています。したがって、私はいくつかのことで不明です:
プロジェクトにMuPDFを統合する方法(質問のタイトルごと)
統合に成功したら、どうすればPDFリーダーをカスタムビュー(XMLまたはプログラムで)に配置できますか?
開発にUbuntuを使用しているため、cygwinを使用してWindowsでこれを行う方法がわかりません。しかし、手順は同じであるべきだと思います。
Compile thumb : mupdfthirdparty <= jbig2.c In file included from /home/yury/programming/Android/workspace/mupdf-0.9/Android/jni/../../thirdparty/jbig2dec/os_types.h:53, from /home/yury/programming/Android/workspace/mupdf-0.9/Android/jni/../../thirdparty/jbig2dec/jbig2.c:22: /home/yury/software/Android-ndk-r6b/platforms/Android-8/Arch-arm/usr/include/stdint.h:48: error: redefinition of typedef 'int8_t' /home/yury/programming/Android/workspace/mupdf-0.9/Android/jni/../../thirdparty/jbig2dec/os_types.h:47: note: previous declaration of 'int8_t' was here
ここで解決策を説明します: mupdf for Android:ndk-build problem(error:redefinition of typedef ....) ただし、単にコメントすることができますファイル/thirdparty/jbig2dec/os_types.h内のタイプの定義の行
その後、2つのライブラリを受け取ります。1つは静的で、もう1つはAndroidアプリケーション用に共有されます。
StaticLibrary : libmupdfthirdparty.a
SharedLibrary : libmupdf.so
これが最初の質問の答えでした。また、Android/Readme.txtファイルには優れたステップバイステップガイドがあります。
次に、2番目の質問の答えです。 Androidのアプリケーションでは、テストプロジェクトを見つけることができます。3つのファイルがあります。
プロジェクトの最後の2つのファイルをコピーするだけです。 MuPDFActivity.Javaの例で、アクティビティにmupdfレイアウトを埋め込む方法を参照してください。このファイルでは、次のように行われます。
PixmapView pixmapView;
//...
layout = new RelativeLayout(this);
//...
RelativeLayout.LayoutParams pixmapParams =
new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.FILL_PARENT);
pixmapParams.addRule(RelativeLayout.ABOVE,100);
layout.addView(pixmapView, pixmapParams);
setContentView(layout);
PDF viewer in Android application。リンクを確認して試してみてください。
http://code.google.com/p/apv/source/browse/
http://code.google.com/p/Android-pdf/
http://code.google.com/p/droidreader/
http://andpdf.sourceforge.net/
http://soft.udm4.com/downloading/pdf_viewer_open_source_code_in_Android/ (リンク切れ)
http://open-app.org/2011/02/pdf-viewer-a-simple-open-source-pdf-viewer-for-Android/ (デッドリンク)
http://androidunderground.blogspot.com/2011/08/pdf-viewer-has-colors-and-speed-but.html (リンク切れ)
これは私が私のMacで達成する方法です(2012、Intel i5):
ステップ1:取得 mupdf-1.2-source.Zip
ステップ2:取得 Android-ndk-mac-64
ステップ3:新しいフォルダーで両方を解凍し、Android-pdf
を呼び出して、unzipフォルダーの名前をmupdf
およびAndroid-ndk
に変更します(好きな名前で呼び出すことができます)
ステップ4:ターミナルを開き、Android-pdf
フォルダーに入るまでcd
コマンドを使用します
ステップ5:cd mupdf
thanコマンド:make
(すべてのスクリプトを実行するには約40秒かかります)
ステップ6:cd Android
(mupdf
dir内)
ステップ7:Finderを開き、フォルダーAndroid-pdf
に移動し、Android-ndk
よりもファイルを呼び出しndk-build
をターミナルコマンドラインにドラッグして入力します(基本的にmudk libで動作するためにndk-buildにパスを追加します) )
そして数秒後にmupdf > Android > libs > ...
内に新しいフォルダが必要です。Android=プロジェクトでそれを使用します。
既存のEclipseプロジェクトでMuPDFを使用する方法:
変化する
MUPDF_ROOT:= ..
に
MUPDF_ROOT := $(TOP_LOCAL_PATH)
変化する
MY_ROOT:= ../ ..
に
MY_ROOT := $(LOCAL_PATH)
すべてを変更する
..
in LOCAL_C_INCLUDESto
$(LOCAL_PATH)
変化する
MY_ROOT:= ../ ..
に
MY_ROOT := $(LOCAL_PATH)
変更all
..
inLOCAL_C_INCLUDESへ
$(LOCAL_PATH)
''タグの間に、アクティビティのすべてのリストを貼り付けます
AndroidManifest.xml
/Androidフォルダー内mupdf内のAndroidManifest.xmlの作業コピーからコピーする必要があります。
既存のEclipseプロジェクトにMuPDFが追加されました。それを使用するには、アプリケーションでcom.artifex.mupdf.ChoosePDFActivity.class
を呼び出します。これは、MuPDFのメインクラスです。
プレフィックスファイルでPDFを開くには:
Uri uri = Uri.parse( "pdfファイルへのパス");
Intent intent = new Intent(context、MuPDFActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
context.startActivity(intent);
このヘルプを願っています:)
このプロジェクトを確認してください eBookDroid
EBookDroidは、VuDroidコードベースに基づくAndroidのオープンソース(GPL化)ドキュメントビューアーです。
次の形式のファイルをサポートしました。
PDF DjVu XPS (OpenXPS) comics books (cbz,cbr)
私のアプリケーションに表示ページャーがあります。ビューpager.isで各フラグメントのpdfファイルを表示する必要があります。mupdf
からpdfビューを取得する方法はありますか?通常、以下のようにmupdf
を呼び出します
Uri uri = Uri.parse("path to pdf file");
Intent intent = new Intent(context, MuPDFActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
context.startActivity(intent);
私のアプリにmupdf
を使用する場合、各フラグメントでMuPDFActivity
を呼び出す必要があります。正しい方法ではないと思いますか?
star18bit
によって与えられた答えはほとんどそれを要約していますが、私が多くの問題に直面したことをフォローしさえしました。
make
コマンドは私にとってはうまくいかず、Visual Studioを使用してビルドする必要がありました。したがって、すべての前提条件ソフトウェアをリストしました。 ANTのように。また、PATHにSDKフォルダーのtools
およびplatform-tools
フォルダーを追加する必要があります。
また、Core2.mk
ファイルの変更を行う必要がありました。これはCore.mk
の変更と同じです。ここですべての情報を提供することはできませんが、それはたくさんあるため、完全な情報についてはこのリンクを参照します。
http://howtojava.net/tutorials/Android/integrate-mupdf-with-Android-in-windows-7