gpt4 book ai didi

c# - 从字节数组创建 CGPDFDocument

转载 作者:太空宇宙 更新时间:2023-11-03 16:34:01 25 4
gpt4 key购买 nike

在 MonoTouch 中,我希望从字节数组创建一个 CGPDFDocument,该字节数组从 Web 服务编码传回文本。但是,MonoTouch 似乎不支持从本地文件或从 URL 下载以外的任何内容创建。

有人知道怎么做吗?

最佳答案

一个选择是 p/invoke CGPDFDocumentCreateWithProvider创建您自己的 CGPDFDocument 实例。它不应该太复杂,因为 CGDataProvider已在 MonoTouch 中可用。

OTOH(从 Web 服务)接收数组会消耗大量内存(除非您 100% 确定它们的尺寸很小)。例如。字符串到字节的转换,它必须全部适合内存......

为了安全起见,您可能希望首先将数组序列化(或者如果可能,最好直接将其流式传输)到本地(临时/缓存)文件(以避免 GCPDFDocument 的另一个内存副本实例),然后调用现有的 CGPDFDocument.FromFile API。

更新:MonoTouch 5.3.3+ 将为接受CGDataProviderGCPDFDocument 提供新的构造函数。同时,您可以使用以下代码。

[DllImport (Constants.CoreGraphicsLibrary)]
extern static IntPtr CGPDFDocumentCreateWithProvider (IntPtr provider);

static GCPDFDocument FromArray (byte[] array)
{
using (var dp = new CGDataProvider (array, 0, array.Length) {
return new CGPDFDocument (CGPDFDocumentCreateWithProvider (dp.Handle));
}
}

关于c# - 从字节数组创建 CGPDFDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9795237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com