1

iOSサファリブラウザには、ブラウザでPDFページを開くたびに表示される便利なオプションがあります

Adobe Readerがインストールされている場合は、次のようなボタンが表示されます。

「AdobeReader」で開く...

ただし、Phone Gapアプリケーションのように、HUD(アドレスバーなど)が非表示になっているPDFドキュメントを開いた場合、または次のメタを使用してすばやく汚い「ホーム画面に追加アプリ」を開いた場合:

<meta name="apple-mobile-web-app-capable" content="yes" />

その後、明らかに、ボタンは表示されません。

それでもAdobeReaderでPDFドキュメントを開きたい。プログラムでこれを行う方法を知っている人はいますか?

jsPDFをphonegapアプリケーションに含めて、結果を保存したいのですが、これが最も簡単な方法です。

前もって感謝します!

4

3 に答える 3

1

Vince Parsons(および他の人)からの素晴らしい助けを借りて、私はこの問題を解決しました。

PhoneGapプラグインを使用すると、JavaScript呼び出しを作成/公開でき、Objective-cで処理されます。

必要な2行(はい、2行だけです!)とそれに続く説明は次のとおりです。

self.docInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:myDocumentPath]];
[self.docInteractionController presentOpenInMenuFromRect:CGRectMake(0,100,1,1) inView:UIApplication.sharedApplication.keyWindow animated:YES];

説明

入力はファイルの場所になります。私の場合、それはアプリのサンドボックス内にあるので、次のようになります。

/var/mobile/Applications/B16-HU83-GU1D-1D3NT1F13R/Documents/DocumentToExport.pdf

外部URLを使用したい場合は、(調整して)使用できますが、私の目的では内部URLでした。

したがって、ファイルの場所を入力として(入力変数を呼び出しましょうmyDocumentPath)、ドキュメントコントローラーを宣言する必要があります。

self.docInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:myDocumentPath]];

これにより、変数を必要とするUIDocumentInteractionControllerusinginteractionControllerWithURLメソッドが作成されます。メソッドを使用してその変数NSURLを作成し、それをに渡します。NSURLfileURLWithPathmyDocumentPath

presentOpenInMenuFromRect 次の行は、長方形とビューポートをとる次の行を呼び出します。

[self.docInteractionController presentOpenInMenuFromRect:CGRectMake(0,0,1,1) inView:UIApplication.sharedApplication.keyWindow animated:YES];

長方形は、幅と高さが0,0(GCRectMake(0,0,1,1))の位置0,0に作成され、ビューポートはPhoneGapアプリケーションから取得されます。UIApplication.sharedApplication.keyWindow

これを修正するのに2行のコードしかかからなかったことに、私は喜びと驚きを感じています。確かに、JavaScriptだけでそれを行う方法はありませんが、それでもかなりエレガントで、うまく機能します。

于 2013-04-09T20:44:32.293 に答える
0

PDFをURLを使用してサーバーから開く場合、またはローカルデバイスから開く場合は、 PhoneGap InAppBrowser( http://docs.phonegap.com/en/2.5.0/cordova_inappbrowser_inappbrowser.md.html#InAppBrowser )を使用してPDFを開くことができます。、PDFViewerプラグインを使用できます:https ://github.com/phonegap/phonegap-plugins/tree/master/iOS/PDFViewer 。

どちらの場合も、PDFを開くためにネイティブのデフォルトのPDFリーダーが使用されます。

于 2013-03-06T23:00:01.620 に答える
0

すぐに使えるソリューションを本当に探して、ある時点で諦めました。GitHubにはいくつかの古いリポジトリがあり、緑色でマークされた回答の2行に基づいていくつかの記事が作成されていますが、私にとって満足のいくものはありません。

cordova-plugin-file-opener2そのため、私はiOSの動作を変更するためにフォークしましたが、これは私にとって完璧に機能します。フォークされたプラグインを並行して使用できるようにするために、私はそれをクリエイティブにに名前変更しましたcordova-plugin-file-opener3。iOSでは「OpenIn」-ダイアログが表示されることを除いて、フォークされたプラグインのバージョン2.0.1と同じ機能を提供します。

プラグインへの変更は簡単でした。1つのメソッド呼び出しを置き換えて、名前を変更しました。なぜ実用的な解決策を見つけるのがとても難しいのかわかりませんが、おそらく私は正しい方法で検索しませんでした。

ここでリポジトリを見つけることができます:

https://github.com/napolitano/cordova-plugin-file-opener3

お気軽にご利用ください。

于 2015-10-21T11:40:04.427 に答える