【问题标题】:Import PDF in my xamarin shared code application在我的 xamarin 共享代码应用程序中导入 PDF
【发布时间】:2017-09-12 22:46:44
【问题描述】:

我想在我的 xamarin android 项目中导入 pdf。 我想在安装应用程序时在我的应用程序文件夹中有一个 pdf。

当我尝试在 android ressources 中添加此 pdf 并尝试打开它时,出现路径错误。

我将我的 pdf 保存在 draxable 资源中并调用路径,例如:@drawable/pdfname 或 pdfname。这两种解决方案都不起作用。

最好的问候,

【问题讨论】:

  • 将其作为资产包含
  • 或放在原始文件夹中。
  • 好的,我把它放在资产文件夹中。我想发送带有附件的电子邮件。我试试这个,但应用程序说我文件是空的。 ` var file = new Java.IO.File("Assets/CV_2017.pdf"); var uri = Android.Net.Uri.FromFile(file);` 我将我的资源设置为“构建为 android 资产”
  • 你检查我的答案了吗?有更新吗?

标签: android pdf xamarin android-drawable


【解决方案1】:

好的,我把它放在资产文件夹中。我想发送带有附件的电子邮件。我试试这个,但应用程序说我文件是空的。 var file = new Java.IO.File("Assets/CV_2017.pdf"); var uri = Android.Net.Uri.FromFile(file); 我将我的资源设置为“构建为 android 资产”。

要获取 assets 文件夹中文件的 url,您可以编写如下代码:

var file = new File(Android.Net.Uri.Parse("file:///android_asset/CV_2017.pdf").ToString());
if (file.Exists())
{
    var uri = file.AbsolutePath;
}

如果你想访问assets下的文件流,可以使用AssetManager,例如这样的代码:

AssetManager assets = this.Assets;
using (StreamReader sr = new StreamReader (assets.Open ("CV_2017.pdf")))
{
    //TODO:
}

【讨论】:

  • 嗨,我只想要他的网址。所以我尝试使用您的第一个解决方案。 y 代码永远不会出现在这个 if 中。 file.exists 返回 false。
  • @JeanOriano,您确定您的文件放在Assets 文件夹中吗?
猜你喜欢
  • 2016-12-14
  • 2023-04-11
  • 1970-01-01
  • 2014-02-23
  • 1970-01-01
  • 1970-01-01
  • 2017-07-27
  • 2012-12-24
  • 1970-01-01
相关资源
最近更新 更多