如何通过目标c中的编码将pdf文件转换为图像
Posted
技术标签:
【中文标题】如何通过目标c中的编码将pdf文件转换为图像【英文标题】:How to convert a pdf file to image through coding in objective c 【发布时间】:2012-09-14 09:30:03 【问题描述】:如何通过objective c中的编码将pdf文件转换为图像
我有一个 pdf 文件,但我想将它保存到 iPhone 的相册中,所以我想转换它。如果有其他方法,请建议我。
提前致谢。
【问题讨论】:
参考convert-a-pdf-page-to-image-on-the-iphone-and-ipad 链接。参考image-of-pdf-page-ios链接获得帮助 【参考方案1】: CGPDFDocumentRef PDFfile;
CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("iPhone Sample apps.pdf"), NULL, NULL);
PDFfile = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
CFRelease(pdfURL);
CGPDFPageRef page = CGPDFDocumentGetPage(PDFfile,currentpage);
context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextFillRect(context,self.bounds);
CGContextTranslateCTM(context, -1.0, [self bounds].size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextConcatCTM(context, CGPDFPageGetDrawingTransform(page, kCGPDFArtBox, [self bounds], 0, true));
CGContextDrawPDFPage(context, page);
CGContextRestoreGState(context);
CGImageRef imgref;
imgref=CGBitmapContextCreateImage(context);
image= [[UIImage alloc]initWithCGImage:imgref ];
【讨论】:
@thomas-kilian 请发表您自己的答案。您将 Swift 代码插入到 2012 年的答案中。现在,如果有人想对您的版本投反对票,他们实际上会反对 OP!无论如何,请不要将外国代码放入其他人的答案中。例如,一个简单的错字修复是可以的,但不是这个。谢谢。 // 对于已编辑的问题,请参见:meta.***.com/questions/311285/… @EricD 啊,对不起,但没有。答案并不局限于 obj-c、它的 CG 以及 C。这对 Swift 和 Obj-C 是开放的。并且我插入了两个代码版本,这并不罕见。 @ThomasKilian 如果您真的认为有必要和/或有用,您可以将标签添加到问题中 - 尽管我强烈反对,但我不会再阻止您。 // 但无论如何你都不能像这样劫持其他用户的答案。发表你自己的。 这是我评论的重要部分。谢谢。 :) @EricD 这不是劫持。原来的答案很差。我提取了内核并添加了我自己的 Swift 解决方案作为赠品。我不会再碰这个话题了。如果有人对我的解决方案感兴趣,请单击上面的编辑文本。以上是关于如何通过目标c中的编码将pdf文件转换为图像的主要内容,如果未能解决你的问题,请参考以下文章