4

MuPDF ライブラリを使用して iPhone/iPad で電子ブック リーダーを開発できますか?

何か良いアイデアはありますか?良いチュートリアルを教えてください。

4

2 に答える 2

5

遅い答えで申し訳ありませんが、それは人々を1日か2日助けることができます. MuPDF ライブラリを私の (Swift) プロジェクトの 1 つに統合する必要があったため、静的な脂肪ライブラリを生成し、それらを Xcode に統合しました。

ここでは、ステップバイステップのクイック チュートリアルに進みます。

スタティック ファット ライブラリのビルド方法:

  1. git clone --recursive git://git.ghostscript.com/mupdf.git
  2. に行くmupdf/platform/ios
  3. Xcode でMuPDF.xcodeprojを開きます
  4. MuPDF ターゲットのスキームをReleaseに設定します。
  5. iPhone シミュレーターでアプリをビルドして実行します。
    • これにより、プラットフォーム用のライブラリが生成されi386x86_64
  6. 実際の iPhone デバイスでアプリをビルドして実行します。独自のバンドル ID、証明書、およびプロビジョニング プロファイルを使用します。
    • これにより、プラットフォーム用のライブラリが生成されarmv7arm64
  7. に行くmupdf/build/
    • release-ios-i386-x86_64ビルドされたすべてのライブラリを含む 2 つのフォルダーがあります。release-ios-armv7-arm64
  8. ここで、mupdf の 4 つのアーキテクチャすべてとそのすべての依存関係を含むファット ライブラリを作成する必要があります。

lipo -create ./*/libcurl.a -output 'libcurl.a' ; lipo -create ./*/libfreetype.a -output 'libfreetype.a' ; lipo -create ./*/libjbig2dec.a -output 'libjbig2dec.a' ; lipo -create ./*/libjpeg.a -output 'libjpeg.a' ; lipo -create ./*/libmujs.a -output 'libmujs.a' ; lipo -create ./*/libmupdf.a -output 'libmupdf.a' ; lipo -create ./*/libopenjpeg.a -output 'libopenjpeg.a' ; lipo -create ./*/libz.a -output 'libz.a'

MuPDF をプロジェクトに統合する方法:

  1. プロジェクトに追加/インポートします。
    • からのすべてのヘッダー ファイルmupdf/include/mupdf
    • クラスのすべての obj-cmupdf/platform/ios/クラス
    • からの common.[h,m] ファイルmupdf/platform/ios
  2. 以前に生成されたファット ライブラリ (8 ファイル) を追加/インポートします。
  3. Library Search Pathライブラリ ファイルへのパスを追加して、 を 構成します。
    • 例えば$(inherited) $(PROJECT_DIR)/External/MuPDF/lib/

これで、ライブラリを含めてアプリをビルドして実行できるはずです。サンプル プロジェクトを使用して、ライブラリのしくみやオンライン チュートリアルを理解してください。

プロのヒント:

最終的なファット ライブラリは全体として非常に大きくなります (~ 46 MB)。以下をインポートすることで、アプリの最終的なサイズを簡単に縮小できます。

  1. リリース フォルダーの下にある lib.a だけmupdf/build/release-ios-armv7-arm64
  2. デバッグ フォルダの下に、大きな生成されたファット ライブラリがあります。mupdf/build/
  3. とconfigを別々Library Search Pathに設定します。DebugRelease

完了すると、すべてのシミュレーターとデバイスでビルドして実行できるようになります。Debugただし、Release . 最終的にアプリとして必要なのは、AppStore は実際のデバイスでのみ実行する必要があります。デバッグ シミュレータ アーキテクチャの静的ライブラリを含める必要はありません。

これは、私の Xcode プロジェクトにインポートされたすべてのファイルのスクリーンショットです。

ここに画像の説明を入力

于 2015-06-29T09:15:53.480 に答える
1

MuPDF を使用して iphone/ipad で電子ブック リーダーを開発することは確かに可能です。

MuPDF は、GNU GPL と Artifex 商用ライセンスの両方でライセンスされています。MuPDF を使用して ipad に電子ブック リーダーを実装している商用ライセンシーがいます。

また、iTunes アプリ ストア (MuPDF を検索) 経由で iOS 用の MuPDF のバージョンもリリースしています。前の回答者が提案しました。

チュートリアルなどを支援するために:

  • MuPDF ソースには、PDF ファイルを開く/レンダリングする/閉じる方法を示すサンプル ソースを含む doc ディレクトリがあります。また、マルチスレッドの世界での作業方法を示す例もあります。
  • ソースには android/iOS/windows/linux ビューアーの例もあります。
  • PDF などをレンダリングする方法を示す簡単なコマンド ライン ツール (ここでも完全なソース) があります。

有能なプログラマーを動かすには、これで十分だと思います。

GNU GPL バージョンはサポートなしでリリースされていますが、希望者にはサポート契約を提供しています。または、#ghostscript irc チャンネルにアクセスしてください。簡単なクエリをサポートできる場合があります (ただし、1 人の無料ユーザーをサポートするために投資できる時間には制限があります)。または、ここで具体的な質問をしてください。

于 2013-05-09T11:59:45.730 に答える