- Home
- Forum
- Xamarin.Forms
- Error en Stream.readout y stram.writeout
Error en Stream.readout y stram.writeout
Hola lo que pasa es que sigo la documentacion de syncfusion y no tenia probleas hasta ahora al tratar de hacer un archivo pdf con su documentacion me sale el erros de stream que el read y write estan null y no puedo avanzar no se por que no se puede si copi los archivos correctamente de la documentacion de pdf xamarin
//Load the file as stream
Stream docStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Assets.Sample.pdf");
PdfLoadedDocument loadedDocument = new PdfLoadedDocument(docStream);
//Create booklet with two sides
PdfDocument document = PdfBookletCreator.CreateBooklet(loadedDocument, new SizeF(1000, 700), true);
MemoryStream memoryStream = new MemoryStream();
//Save the document into memory stream
document.Save(memoryStream);
//close the documents
document.Close(true);
loadedDocument.Close(true);
//Save the stream into pdf file
Xamarin.Forms.DependencyService.Get().Save("sample.pdf", "application/pdf", memoryStream);
public interface ISave
{
Task Save(string filename, string contentType, MemoryStream stream);
}
class SaveWindowsPhone: ISave
{
public async Task Save(string filename, string contentType, MemoryStream stream)
{
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
StorageFile outFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
using (Stream outStream = await outFile.OpenStreamForWriteAsync())
{
outStream.Write(stream.ToArray(), 0, (int)stream.Length);
}
await Windows.System.Launcher.LaunchFileAsync(outFile);
}
}
SIGN IN To post a reply.
11 Replies
KC
Karthikeyan Chandrasekar
Syncfusion Team
December 19, 2018 08:59 AM UTC
Hi Jonathan,
Greetings from Syncfusion.
We have tried with the code snippet which you provided from our UG documentation, but it is working fine as expected. We have attached the sample and UG link for your reference.
Could you please modify the sample to reproduce your issue, so that we could further analyze in it and provide you the exact fix.
Regards,
Karthikeyan
JE
Jonathan Estrada Gonzalez
December 19, 2018 07:27 PM UTC
Pues ya copie el codigo tal y como esta y me sale un error no se por que sea este es mi codigo de erros
System.ArgumentNullException
HResult=0x80004003
Mensaje = Value cannot be null.
Origen = Syncfusion.Pdf.Portable
Seguimiento de la pila:
en Syncfusion.Pdf.Parsing.PdfLoadedDocument..ctor(Stream file)
en Control.Pages.Catalogos.Archivos.BtnExport_Clicked(Object sender, EventArgs e) en C:\Users\LICONSA\source\repos\Control\Control\Control\Pages\Catalogos\Archivos.xaml.cs: línea 99
en Xamarin.Forms.MenuItem.OnClicked()
en Xamarin.Forms.MenuItem.Activate()
en Xamarin.Forms.Platform.UWP.MenuItemCommand.Execute(Object parameter)
en System.Runtime.InteropServices.WindowsRuntime.ICommandToWinRTAdapter.Execute(Object parameter)
KC
Karthikeyan Chandrasekar
Syncfusion Team
December 20, 2018 11:34 AM UTC
Hi Jonathan,
Thank you for your update.
The stack trace of the exception seems to be steam is null. Could you please confirm that the stream is valid. When we are retrieving the stream from the PDF document , the PDF document build action should be embedded.
Please refer the screenshot below for your reference.
|
|
Kindly check the sample, which we are provided in the last update. If the issue occurs specific to the document, kindly share the document or sample which you are checking. It will be helpful for us to provide the solution earlier.
Regards,
Karthikeyan
JE
Jonathan Estrada Gonzalez
January 21, 2019 06:01 PM UTC
La Aplicacion me Corre perfectamente en UWP pero en android me sale este error al parecer es al abrir el archivo guardado en el telefono
KC
Karthikeyan Chandrasekar
Syncfusion Team
January 22, 2019 11:48 AM UTC
Hi Jonathan,
Starting from Android version (8.0, Marshmallow) every android app need to request runtime permission when the application is deployed for the first time. This might be the cause of the exception you get while saving the PDF document to the device.
More detail on how to request runtime permission in Xamarin forms Android can be found in the link below:
Also the sample for the same has been updated in Xamarin developer website which can be found in below link:
Please note for saving the PDF in the mobile device “READ_EXTERNAL_STORAGE” and “WRITE_EXTERNAL_STORAGE” permission needs to be enabled.
Let us know if you need any further information in this.
Regards,
Karthikeyan
JE
Jonathan Estrada Gonzalez
January 22, 2019 04:21 PM UTC
De echo los permisos se los di desde que implemente el código de guardar el pdf pero me sigue saliendo lo mismo por eso preguntaba por que los permisos ya fueron asignado aquí les dejo una foto de los permisos y de mi código de android

Y pues estuve investigando y me dice que el android.net.uri ya no es compatible con el api despues de 23 y que tengo que usar un provider en vez de un file
no se que tan cierto sea esto
KC
Karthikeyan Chandrasekar
Syncfusion Team
January 23, 2019 09:55 AM UTC
Hi Jonathan,
To resolve the permission exception when deploying application in Android Marshmallow and above target, it is need to grant permission for the application to access storage. We have done the changes in MainActivity.cs to grant permission when opening the application.
Sample can be found in the link below:
Let us know if you need any further information.
Regards,
Karthikeyan
JE
Jonathan Estrada Gonzalez
January 23, 2019 03:15 PM UTC
Hola Muchisimas Gracias por estar checando Mi Problema Ya lo solucione el dia de ayer poniendo un Provider con un content en mi codigo pero probare este codigo y vere igual la solucion muchisimas gracias
KC
Karthikeyan Chandrasekar
Syncfusion Team
January 24, 2019 06:44 AM UTC
Hi Jonathan,
Happy to know that your issue is resolved. Get back to us if you need any assistance in the future.
Regards,
Karthikeyan
Hola Muchisimas Gracias por estar checando Mi Problema Ya lo solucione el dia de ayer poniendo un Provider con un content en mi codigo pero probare este codigo y vere igual la solucion muchisimas gracias
Hola Jonathan, llevo unos días con el mismo problema que tu planteas en este foro, he realizado los cambios que plantea Syncfusion, pero no son válidos.
Podrías compartir como lo solucionaste? indicas que "a lo solucione el dia de ayer poniendo un Provider con un content en mi codigo ", pero no consigo saber cómo realizarlo.
Muchas Gracias
SL
Sowmiya Loganathan
Syncfusion Team
April 15, 2020 12:02 PM UTC
Hi Carlos,
We suspect that the issue occurs due to requiring runtime permission in the android app when the application is deployed for the first time. Kindly try the step by step process mentioned in the below KB to overcome this issue,
If you still facing the issue, kindly revert us with the below information. So that we will analyze further and provide a better solution on this,
- Sample (facing the issue)
- Android version
- Product version
Please let us know If you have any concerns about this.
Regards,
Sowmiya Loganathan
SIGN IN To post a reply.
- 11 Replies
- 4 Participants
-
JE Jonathan Estrada Gonzalez
- Dec 18, 2018 04:02 PM UTC
- Apr 15, 2020 12:02 PM UTC