c# - 同步融合 PDF : Adding image to pdf works in iOS but not in android

标签 c# xamarin.forms syncfusion

我正在使用 Syncfusion 和 Xamarin Forms 即时创建 PDF。在 iOS 中一切顺利,但在 Android 中,它无法定位图像( Logo )。

跟随syncfusion PDF入门,但即使它不起作用。该图像位于android的resource/drawable中。我也将其添加到 Assets 中。

这是 xamarin 表单 iOS 中的工作代码

//Load the image 
Stream imageStream = System.IO.File.OpenRead("logo.jpg");
//Load the image from the stream 
PdfBitmap image = new PdfBitmap(imageStream); 

不幸的是,即使这在 Android 上也不起作用

//Load the image 
Stream imageStream = DependencyService.Get<ISave>().LoadFromFile(@"logo.jpg");
//Load the image from the stream 
PdfBitmap image = new PdfBitmap(imageStream); 

非常感谢您的帮助,因为我已经在这个问题上坚持了 3 天了。

最佳答案

进一步分析Xamarin Android中的“从drawable文件夹加载图像”,我们发现无法直接从drawable文件夹加载图像。相反,我们可以从资源中获取 if 。请查找以下代码片段了解更多详细信息,

Xamarin.Android:

var context = Android.App.Application.Context;
using (var drawable = 
Xamarin.Forms.Platform.Android.ResourceManager.GetDrawable(context, fileName))
using (var bitmap = ((BitmapDrawable)drawable).Bitmap)
{
var stream = new MemoryStream();
bitmap.Compress(Bitmap.CompressFormat.Png, 100, stream);
bitmap.Recycle();
return stream.ToArray();
}

我们已经创建了相同的示例,可以从下面的链接下载,

Sample for loading images from resource

关于c# - 同步融合 PDF : Adding image to pdf works in iOS but not in android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56110788/

相关文章:

xaml - 如何绑定(bind)样式资源字典中的颜色?

c# - 配置中的多个 LUIS 模型

C# GetType().GetField 在数组位置

xamarin - 如何防止键盘打开时背景图像被挤压?

android - Xamarin Forms MasterDetail 页面导航导致 Android 崩溃 [致命信号 6 (SIGABRT),代码 -6],适用于 iOS 和 UWP

javascript - 在不丢失附加事件监听器的情况下修改 HTML 标记

azure - 在 Blazor 应用程序上下载 JS 和 CSS 文件时出现性能问题,即使它们已缓存

javascript - 显示摘要行时 Syncfusion ejGrid 和 knockout.js 出现问题

c# - ASP.Net Core 文件上传进度 session

c# - Log4net 不记录异常