CrossPlatform Xamarin表单:如何在本地存储中创建PDF文件

时间:2019-07-09 18:46:19

标签: c# android ios xamarin.forms cross-platform

您好,我正在尝试使用由网络标准2.0 Xamarin表单制作的跨平台APP创建PDF文件。

我有一个由相机拍摄的照片流,我想将其添加到pdf

// here i check and grant permission


if (status == PermissionStatus.Granted)
{

                        PhotoImage.Source = ImageSource.FromStream(() => { return photo.GetStream(); });
                        Stream a = photo.GetStream();
                        string fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "test.pdf");

                        Document document = new Document();

                        using (var stream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Write))
                        {
                            PdfWriter.GetInstance(document, stream);
                            document.Open();
                            using (var imageStream = photo.GetStream())
                            {
                                var image = Image.GetInstance(imageStream);
                                document.Add(image);
                            }
                            document.Close();
                        }

                    }

文件test.pdf不在路径中创建:

“ / data / user / 0 / com.companyname.XXX / files / .config / test.pdf”

或者至少当我检入手机时看不到它。

我也测试了路径: “ /data/user/0/com.companyname.XXX/files/test.pdf”

请帮助。

编辑:我正在使用iTextSharp

1 个答案:

答案 0 :(得分:0)

您可以使用iTextSharp NuGet来执行此操作。 或者首先,您可以尝试在单个项目页面中创建一个文件,例如MainActivity.cs