在iPhone上通过monotouch创建PDF?

时间:2011-05-30 07:33:25

标签: iphone pdf xamarin.ios

是否可以通过monotouch(iPhone)生成PDF?我注意到阅读和呈现PDF在Apple API中得到了很大的支持 - 但是如何“动态”创建一个简单的PDF呢?

我想生成PDF报告,并将其作为电子邮件附件添加到我的应用中。我发现的唯一一件事就是一个名为“itextsharp”的C#包,但是对于我不起眼的需求感觉有些过分(我只需要转储几个数据库表)。

欢迎任何提示或示例

3 个答案:

答案 0 :(得分:1)

我没有示例,但是支持创建PDF文档在iOS中是原生的,并且该框架在MonoTouch中可用。

Apple documentation

答案 1 :(得分:1)

有一个示例显示如何在我的MonoTouch书的粗剪版本中执行此操作:

http://my.safaribooksonline.com/book/programming/iphone/9780131388291/graphics-and-animation/157

答案 2 :(得分:1)

这个类将UIImage转换为pdf文档,希望能帮助其他任何想要这样做的人。 (缺点是,如果那些UIImages很大,则没有压缩)

public static Stream CreatePDF (UIImage image)
    {
        NSMutableData data = new NSMutableData();
        UIGraphics.BeginPDFContext(data, new RectangleF(new PointF(0,0), image.Size), null);
        UIGraphics.BeginPDFPage(new RectangleF(new PointF(0,0), image.Size), null);
        image.Draw(new RectangleF(0, 0, image.Size.Width, image.Size.Height));
        UIGraphics.EndPDFContent();

        using (NSData imageData  = data)
        {
            Byte[] myByteArray = new Byte[imageData.Length];
            System.Runtime.InteropServices.Marshal.Copy (imageData.Bytes, myByteArray, 0, Convert.ToInt32(imageData.Length));
            fs = new MemoryStream(myByteArray);
        }
        return fs;

    }