File: PdfPageExtensions.cs
Web Access
Project: src\src\Graphics\src\Graphics\Graphics.csproj (Microsoft.Maui.Graphics)
using System;
using System.IO;
using System.Threading.Tasks;
 
namespace Microsoft.Maui.Graphics
{
	public static class PdfPageExtensions
	{
		public static byte[] AsBytes(this IPdfPage target)
		{
			if (target == null)
				return null;
 
			using (var stream = new MemoryStream())
			{
				target.Save(stream);
				return stream.ToArray();
			}
		}
 
		public static Stream AsStream(this IPdfPage target)
		{
			if (target == null)
				return null;
 
			var stream = new MemoryStream();
			target.Save(stream);
			stream.Position = 0;
 
			return stream;
		}
 
		public static async Task<byte[]> AsBytesAsync(this IPdfPage target)
		{
			if (target == null)
				return null;
 
			using (var stream = new MemoryStream())
			{
				await target.SaveAsync(stream);
				return stream.ToArray();
			}
		}
 
		public static string AsBase64(this IPdfPage target)
		{
			if (target == null)
				return null;
 
			var bytes = target.AsBytes();
			return Convert.ToBase64String(bytes);
		}
	}
}