Значение Syncfusion Xamarin не может быть нулевым. Имя параметра: поток’ при добавлении изображения

#image #pdf #xamarin #stream #syncfusion

#изображение #PDF #xamarin #поток #syncfusion

Вопрос:

Я хотел бы загрузить изображение в PDF из stream. Когда я пытаюсь это сделать, я получаю сообщение об ошибке

 System.ArgumentNullException: 'Value cannot be null.
Parameter name: stream'
  

Вот мой код

 Stream imageStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("MyApp.Resources.drawable.image.png");
            
PdfImage image = PdfImage.FromStream(imageStream);   <---- here is error

g.DrawImage(image, new PointF(20, 20));
  

Ответ №1:

Во-первых, таким образом, вам нужно поместить изображение в проект Forms вместо проекта Android.В моей демонстрации я поместил изображение в папку Assets . И код должен выглядеть следующим образом

введите описание изображения здесь

 var assembly = this.GetType().GetTypeInfo().Assembly;
Stream s = assembly.GetManifestResourceStream("MyApp.Assets.icon.png");
  

Кроме того, убедитесь, что действие сборки изображения является встроенным ресурсом

Щелкните правой кнопкой мыши изображение -> Свойства

введите описание изображения здесь

Ответ №2:

Мы проверили проблему с загрузкой изображения в pdf из stream, но оно работает должным образом. И изображения загружаются и вставляются в документ Pdf и убедитесь, что действие сборки изображения является встроенным ресурсом. Пожалуйста, попробуйте пример из приведенной ниже документации и сообщите нам результат.

КБ : https://www.syncfusion.com/kb/10375/how-to-insert-an-image-into-pdf-in-xamarin

UG : https://help.syncfusion.com/file-formats/pdf/working-with-images

Примечание: я работаю в Syncfusion.