1

私は周りを読んでいますが、まだ解決策にたどり着きませんでした。FileTransferを使用してPDFファイルを正常にダウンロードしています。これはDocumentsというフォルダーに配置され、場所は次のようになります:/Users/myusername/Library/Application Support / iPhone Simulator / 5.1 / Applications / C62E5802-56A8-48BF-B57C-695801F3C8D6 / HelloWorld.app / Documents/11。 pdf

ChildBrowserを使用して開こうとしていますが、これまでのところ成功していません。

開くコードは次のとおりです。

cordova.exec("ChildBrowserCommand.showWebPage", path );

パスが外部の場合(例:http ://www.google.com/ )、(ドメインがホワイトリストに登録されている場合)正常に機能します。

私はこれらすべてのパスを試しましたが、成功しませんでした。

file:/// Users / myusername / Library / Application Support / iPhone Simulator / 5.1 / Applications / C62E5802-56A8-48BF-B57C-695801F3C8D6 / HelloWorld.app / Documents / 11.pdf

file://// Users / myusername / Library / Application Support / iPhone Simulator / 5.1 / Applications / C62E5802-56A8-48BF-B57C-695801F3C8D6 / HelloWorld.app / www / Documents / 11.pdf

file:/// Documents / 11.pdf

それに到達するために私は何をする必要がありますか?上記のアプリの場所を見ると、wwwフォルダーも見つかりません(パッケージ化されていると思います)

これはすべてシミュレーター、cordova2.1.0および最新のChildBrowserにあります。

4

3 に答える 3

3

私はここで私の答えとなる別の質問を見つけました。リンク

ファイルするuriは次のようになります。

file:///Users/{username}/Library/Application%20Support/iPhone%20Simulator/5.0/Applications/F815A351-44EC-46E8-AD00-A7D775FF9ECC/Documents/11.pdf

ファイルの提供は、アプリのDocumentsフォルダーにダウンロードされており、wwwフォルダーには配置されていません。次のようなURLを取得します。

fp = entry.fullPath;
urld = "file://" + fp;
//open the file in ChildBrowser
cordova.exec("ChildBrowserCommand.showWebPage", encodeURI(urld) );
于 2012-10-28T21:45:34.327 に答える
3

https://github.com/vfr/ReaderPDFReaderをChildBrowserに追加しました。それはとても素晴らしいです!

現在のコンポーネントバージョン:Cordova2.2.0の子ブラウザ

ChildBrowserCommand.hを編集します。

#import <Cordova/CDVPlugin.h>
#import "ChildBrowserViewController.h"
#import "ReaderDemoController.h"
#import "ReaderViewController.h"
@interface ChildBrowserCommand : CDVPlugin <ChildBrowserDelegate, ReaderViewControllerDelegate>{}

@property (nonatomic, strong) ChildBrowserViewController* childBrowser;
@property (nonatomic, strong) ReaderDemoController* reader;

- (void)showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
- (void)onChildLocationChange:(NSString*)newLoc;

@end

.Mファイル内1)@synthesize reader;

2)

- (void)showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options  
{
    NSString* url = (NSString*)[arguments objectAtIndex:0];
    if([url hasSuffix:@".pdf"])
    {
        NSString *phrase = nil; // Document password (for unlocking most encrypted PDF files)
        ReaderDocument *document = [ReaderDocument withDocumentFilePath:url password:phrase];
        ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document];'

        readerViewController.delegate = self; // Set the ReaderViewController delegate to self
        readerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        readerViewController.modalPresentationStyle = UIModalPresentationFullScreen;

        [self.viewController presentModalViewController:readerViewController animated:YES];
    }
    else
    {
        if (self.childBrowser == nil) {
#if __has_feature(objc_arc)
            self.childBrowser = [[ChildBrowserViewController alloc] initWithScale:NO];
            NSLog(@"HAS ARC");
#else
            self.childBrowser = [[[ChildBrowserViewController alloc] initWithScale:NO] autorelease];
            NSLog(@"NO ARC");
#endif
            self.childBrowser.delegate = self;
            self.childBrowser.orientationDelegate = self.viewController;
        }
        [self.viewController presentModalViewController:childBrowser animated:YES];
        [self.childBrowser loadURL:url];
    }
}

3)

-(void)dismissReaderViewController:(ReaderViewController *)viewController{
    NSLog(@"The delegate to dismiss pdf reader was called");
   [self.viewController dismissModalViewControllerAnimated:YES];}

4)リーダーからプロジェクトにすべてをコピーし、必要なすべてのフレームワークを追加します

楽しみ。リーダーのARCをオンにすることを忘れないでください

于 2012-11-23T12:36:18.850 に答える
2
childbrowser = ChildBrowser.install();
console.log(location.href);
var strPath = window.location.href;
var path = strPath.substr(0,strPath.lastIndexOf('/')) + "/../../Documents/age.pdf";
console.log(encodeURI(path));
childbrowser.showWebPage(encodeURI(path));

ここにコード、PDFファイルを開くもの。ファイルはローカルフォルダのDocumentsにあります

これがPhonegapでどのように機能したかの例です

url = "pdf/test.pdf";
function openChildBrowser(url)
{
   try {

   var strPath = window.location.href;
   var path = strPath.substr(0,strPath.lastIndexOf('www')) + "www/"+ url;
   path = path.replace('file:///', '/');
   window.plugins.childBrowser.showWebPage(encodeURI(path));

   }
   catch (err)
   {
    console.log(err);
   }

}

于 2012-10-27T09:55:15.007 に答える