Pdf CopyToAsync()不';填充内存流

Pdf CopyToAsync()不';填充内存流,pdf,xamarin.forms,xamarin.android,system,memorystream,Pdf,Xamarin.forms,Xamarin.android,System,Memorystream,我正在使用xamarin.forms应用程序,需要保存文件(此情况下为pdf文件)。这是我的场景:我使用媒体插件将图像与相机一起保存,并从带有PdfDocument对象的图像生成PDF文件: PdfDocument document = new PdfDocument(); for (int i = 0; i < Images.Count(); i++) { PdfPage page = documen

我正在使用xamarin.forms应用程序,需要保存文件(此情况下为pdf文件)。这是我的场景:我使用媒体插件将图像与相机一起保存,并从带有PdfDocument对象的图像生成PDF文件:

  PdfDocument document = new PdfDocument();


            for (int i = 0; i < Images.Count(); i++)
            {
                PdfPage page = document.Pages.Add();

                PdfGraphics graphics = page.Graphics;

                  Stream imageStream = Images.ElementAt(i);
                PdfBitmap image = new PdfBitmap(imageStream);

                page.Graphics.DrawImage(image, new PointF(40, 100));

            } 
  MemoryStream stream = new MemoryStream();
              document.Save(stream);
            document.Close(true);


  String localPath =
                      Task.Run(() => DependencyService.Get<ISave>().SaveFile(stream, "test.pdf")).Result;

内存流为空。有人知道问题出在哪里吗?

您正在创建一个新流,但它是空的。你期望发生什么?你的意思是在CopyToAsync之后memoryStream是空的吗?你知道CopyToAsync是如何工作的吗?我填充到memoryStream的pdfStream表单CopyTo呢?你试过了吗?另外,请尝试删除using-as-now进行测试,因为using会处理创建的MemoryStream。如果我能找到任何东西,我会把它贴在这里,我会尽力的谢谢你
[assembly: Dependency(typeof(Save))]
namespace PdfSave.Droid.Shared
{
    public class Save: ISave
    {
        private readonly string _rootDir = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "TestFolder");
        public async Task<string> SaveFile(Stream pdfStream, string fileName)
        {
            if (!Directory.Exists(_rootDir))
                Directory.CreateDirectory(_rootDir);          
            var filePath = Path.Combine(_rootDir, fileName);
            using (var memoryStream = new MemoryStream())
            {
                await pdfStream.CopyToAsync(memoryStream);
                File.WriteAllBytes(filePath, memoryStream.ToArray());
            }

            return filePath;
        }
}

await pdfStream.CopyToAsync(memoryStream);