【问题标题】:Draw Image to PDF将图像绘制为 PDF
【发布时间】:2013-11-23 19:28:21
【问题描述】:

我想将整页图像绘制到 PDF 中,但我一直难以理解CGContextRefs,所以我不知道如何解决这个错误。

注意,这是不是 iOS。我正在制作一个桌面应用程序。

到目前为止,我有这个:

-(void) addImage:(NSURL*) url toPage:(size_t) page toPDF:(CGPDFDocumentRef) pdf
{
    NSImage *image = [[NSImage alloc] initWithContentsOfURL:url];
    image = [image imageScaledToFitSize:pageSize.size];  //From Matt Gemmell's Crop extensions category

    [image lockFocus];

    CGContextRef context = [[NSGraphicsContext currentContext] graphicsPort];
    [image drawInRect:pageSize];
    [image unlockFocus];


    CGPDFPageRef pageRef = CGPDFDocumentGetPage(pdf, page);

    CGPDFContextBeginPage(context, pageInformation);
    CGContextDrawPDFPage(context, pageRef);
    CGPDFContextEndPage(context);
}

但是,我收到了错误:

CGPDFContextEndPage:无效的上下文 0x61000017b540。这是一个严重的错误。此应用程序或它使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体下降。此通知是出于礼貌:请解决此问题。这将成为即将到来的更新中的致命错误。

请问我的上下文有什么问题?

【问题讨论】:

    标签: objective-c cocoa pdf cgcontext


    【解决方案1】:

    您需要创建和使用CGPDFContext。不同的上下文特定于不同的渲染进程/目标,因此您需要选择正确的上下文。所以看看使用CGPDFContextCreateWithURL创建一个PDF上下文来将数据写入文件。

    【讨论】:

    • 谢谢。我看到 CGPDFContext.. 并愚蠢地假设它不是 CGContextRef
    猜你喜欢
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多