德尔福从IOS打开的PDF / Android的本地存储 [英] Delphi open PDF from ios/Android local storage

查看:178
本文介绍了德尔福从IOS打开的PDF / Android的本地存储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图从本地存储的移动设备打开PDF文件。

我已经把文件:

启动\文档\的iOS

资产\内部\ Android版

本code:

 文件名:= TPath.Combine(TPath.GetDocumentsPath,file.pdf');
WebBrowser1.Navigate时(文件://+文件名);
 

在iOS上正​​常工作......正确打开PDF

在Android上...什么都没有..没有错误..没有PDF ...如果我尝试打开HTML文件..正常工作。

有什么建议?

安东内洛

解决方案

  {$ IFDEF ANDROID}
用途
   Androidapi.JNI.GraphicsContentViewText,
   Androidapi.Helpers,
   Androidapi.JNI.JavaTypes,
   Androidapi.JNI.Net;
{$ ENDIF}
 


 程序btnPdfClick(发件人:TObject的);
变种
   FNAME:字符串;
{$ IFDEF ANDROID}
   意图:JIntent;
   网址:Jnet_Uri;
{$ ENDIF}
开始
    FNAME:= TPath.GetSharedDownloadsPath + PathDelim +'的test.pdf;

    {$ IFDEF ANDROID}
      URI:= TJnet_Uri.JavaClass.parse(StringToJString(文件:///+ FNAME));
      原意:= TJIntent.Create;
      intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
      intent.setDataAndType(URI,StringToJString(应用程序/ PDF'));
      SharedActivity.startActivity(意向);
    {$ ENDIF}
结束;
 

I tried to open a PDF file on mobile device from local storage.

I have put the file to:

StartUp\Documents\ for iOS

assets\internal\ for Android

with this code:

filename := TPath.Combine(TPath.GetDocumentsPath, 'file.pdf');
WebBrowser1.Navigate('file://' + filename);

on iOS works fine ... open the pdf correctly

on Android ... nothing .. no error .. no pdf ... If I try to open a html file .. works fine.

Any suggestions ?

Antonello

解决方案

{$IFDEF ANDROID}
Uses
   Androidapi.JNI.GraphicsContentViewText,
   Androidapi.Helpers,
   Androidapi.JNI.JavaTypes,
   Androidapi.JNI.Net;
{$ENDIF}


procedure btnPdfClick(Sender: TObject);
var
   fName       : String;
{$IFDEF ANDROID}
   Intent      : JIntent;
   URI         : Jnet_Uri;
{$ENDIF}
begin
    fName := TPath.GetSharedDownloadsPath + PathDelim + 'test.pdf';

    {$IFDEF ANDROID}
      URI := TJnet_Uri.JavaClass.parse(StringToJString('file:///' + fName));
      intent := TJIntent.Create;
      intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
      intent.setDataAndType(URI,StringToJString('application/pdf'));
      SharedActivity.startActivity(intent);
    {$ENDIF}
end;

这篇关于德尔福从IOS打开的PDF / Android的本地存储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆