将字符串转换回PDF

时间:2016-07-12 10:06:29

标签: swift cgpdfdocument

我从RPC服务器收到包含String的回复。此StringPDF转换为String。在我的应用程序中,我需要将此字符串转换回PDF文件。我在Stack上尝试了几种解决方案,但它们并不适用于我。

问题是我的函数一直在抛出,因为它无法将我的字符串转换为CGPDFDocument。我在这里做错了什么?

这是我目前的代码。

final class PdfGenerator: PdfGeneratorInterface {

// MARK: PdfGeneratorProtocol
func generatePdf(string: String) throws -> CGPDFDocument {

    guard let
        data = string.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false),
        cfData = CFDataCreate(kCFAllocatorDefault, UnsafePointer<UInt8>(data.bytes), data.length)
    else {
        throw PdfGeneratorException.UnsupportedFormatException
    }

    let cgDataProvider =  CGDataProviderCreateWithCFData(cfData)

    guard let cgPDFDocument = CGPDFDocumentCreateWithProvider(cgDataProvider) else {
        throw PdfGeneratorException.UnsupportedFormatException
    }

    return cgPDFDocument
}

}

PDF字符串内容:

https://gist.github.com/Combidi/fa53f2d74e7ae177bb3885d5d640c13c

由于

1 个答案:

答案 0 :(得分:1)

看起来您链接的字符串是base64编码的。如果你解码它,结果应该是&#34;%PDF&#34;你可以使用的字符串。