`
woniu1983
  • 浏览: 167763 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

将多页PDF文件转换为多张JPG图片

    博客分类:
  • iOS
阅读更多
一开始以为做不到,不过iOS原生的库还是挺强大的。

直接上Code吧

-(void) createJPGsFromPDF:(NSString *)fromPDFName
{
    
    if (fromPDFName == nil || [fromPDFName isEqualToString:@""]) {
        return;
    }
    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
	NSString *documentsDir = [paths objectAtIndex:0];
    
	NSString *docPath = [documentsDir stringByAppendingPathComponent:fromPDFName];
	NSURL *fromPDFURL = [NSURL fileURLWithPath:docPath];
    CGPDFDocumentRef fromPDFDoc = CGPDFDocumentCreateWithURL((CFURLRef) fromPDFURL);
    
    // Get Total Pages
    int pages = CGPDFDocumentGetNumberOfPages(fromPDFDoc);
    
    // Create Folder for store under "Documents/"
    NSError *error = nil;
    NSFileManager *fileManager = [[NSFileManager alloc] init];
    NSString *folderPath = [documentsDir stringByAppendingPathComponent:[fromPDFName stringByDeletingPathExtension]];
    [fileManager createDirectoryAtPath:folderPath withIntermediateDirectories:YES attributes:nil error:&error];
    [fileManager release];
    
    int i = 1;
    for (i = 1; i <= pages; i++) {
        CGPDFPageRef pageRef = CGPDFDocumentGetPage(fromPDFDoc, i);
        CGPDFPageRetain(pageRef);
        
        // determine the size of the PDF page
        CGRect pageRect = CGPDFPageGetBoxRect(pageRef, kCGPDFMediaBox);
        
        // renders its content.
        UIGraphicsBeginImageContext(pageRect.size);
        
        CGContextRef imgContext = UIGraphicsGetCurrentContext();
        CGContextSaveGState(imgContext);
        CGContextTranslateCTM(imgContext, 0.0, pageRect.size.height);
        CGContextScaleCTM(imgContext, 1.0, -1.0);
        CGContextSetInterpolationQuality(imgContext, kCGInterpolationDefault);
        CGContextSetRenderingIntent(imgContext, kCGRenderingIntentDefault);
        CGContextDrawPDFPage(imgContext, pageRef);
        CGContextRestoreGState(imgContext);
        
        //PDF Page to image
        UIImage *tempImage = UIGraphicsGetImageFromCurrentImageContext();
        
        UIGraphicsEndImageContext();
        //Release current source page
        CGPDFPageRelease(pageRef);
        
        // Store IMG
        NSString *imgname = [NSString stringWithFormat:@"fromPDFName_%d.jpg", i];
        NSString *imgPath = [folderPath stringByAppendingPathComponent:imgname];
        [UIImageJPEGRepresentation(tempImage, 1.0) writeToFile:imgPath atomically:YES];
        
    }
    
    CGPDFDocumentRelease(fromPDFDoc);
    
}
0
0
分享到:
评论

相关推荐

    PDF转换图片(多页转多张)

    PDF转换图片,特别是将多页PDF转换为多张单独的图片,是常见的文件处理需求,尤其是在数据可视化、文档共享和网络发布等领域。Java作为一种广泛使用的编程语言,提供了丰富的库来处理这种任务。在这个场景中,我们...

    将PDF文件转换为JPG图片的小工具

    本文将详细介绍如何使用小工具将PDF文件转换为JPG图片。 PDF转JPG的工具通常具有以下特点: 1. **用户友好**:这些工具通常设计简洁,操作流程直观,使得即使是电脑新手也能轻松上手。 2. **快速转换**:在处理单个...

    Delphi jpg转换成pdf文件demo

    【Delphi jpg转换成pdf文件demo】是一个使用Delphi编程语言编写的示例程序,它演示了如何将JPEG图像文件转换为PDF文档。这个程序的核心是图像处理和PDF生成技术,对于那些想要在Delphi环境下处理图像并创建PDF文档的...

    PDF文件转换JPG图片

    PDF文件转换为JPG图片是一种常见的操作,尤其在我们需要将文档中的内容快速分享或在网络上传输时。PDF格式因其良好的保真性和通用性而广泛使用,但有时为了方便查看或编辑,我们可能需要将PDF转换成图片,比如JPG...

    C#-PDF文件和图片互相转换

    在本主题中,我们将深入探讨如何使用C#进行PDF文件和图片之间的转换。PDF(Portable Document Format)是一种通用的文件格式,用于保存文档的布局和内容,而图像则包含了像素数据,通常用于展示视觉信息。以下是一些...

    pdf文件拆分成JPG图片

    4. **分页处理**:对于多页的PDF文件,转换工具会按顺序生成相应数量的JPG图片,每张图片对应PDF中的一页。例如,一个5页的PDF文件会被拆分成5张JPG图片。 5. **批处理功能**:高级工具往往支持批量转换,一次可以...

    C#利用pdfsharp转换图片为pdf文件

    本文将详细介绍如何使用C#和PDFsharp库将图片转换为PDF文件。 首先,你需要安装PDFsharp库。可以通过NuGet包管理器在Visual Studio中添加PDFsharp。在项目中右键点击“管理NuGet程序包”,搜索“PDFsharp”,然后...

    将PDF文件转换为JPG格式

    PDF文件转换为JPG格式是常见的文件处理需求,特别是在需要在只支持文本或图片格式的设备或应用中使用PDF内容时。PDF(Portable Document Format)是一种标准格式,它能保持文档的原始布局和样式,但有时为了适应特定...

    PDF文件转换为图片格式

    这款名为"PDF-JPG"的工具正是为了解决这个问题,它能高效地将PDF文件转换成常见的图片格式,如JPG。 PDF转换工具的工作原理通常包括以下步骤: 1. **解析PDF文件**:首先,工具会读取PDF文件的内容,包括文本、图像...

    pdf2jpg(pdf文件转jpg图片)

    它能够解析PDF文件,提取其中的每一页,并将其转换为独立的JPEG图像。这通常涉及选择输入PDF文件、指定输出目录、设置图像质量和分辨率等参数。 5. **转换过程**:转换过程中,用户可以选择转换PDF的全部页面或仅...

    pdf文件转jpg文件

    用户可以选择一个PDF文档,工具会将其转换为相应的JPG图片,每一页PDF都会生成一个独立的JPG文件。这适用于那些只需要转换个别PDF页面的情况。 2. **批量转换,支持多文件夹嵌套**:批量转换功能则提高了效率,允许...

    pdf文件转换成一张图片小工具,方便快捷

    这款软件的特点在于它不设页数限制,这意味着用户可以一次性转换多页PDF文档至JPG图片,无论PDF文件有多长,都能轻松处理。在处理大量PDF文档或者需要将PDF中的页面作为图片引用时,这样的功能显得尤为方便,网上的...

    pdf格式转换成jpg格式

    然而,在某些情况下,我们可能需要将PDF文件转换为图像格式,例如JPG(Joint Photographic Experts Group),以便于在网页上快速加载、发送电子邮件或者在不支持PDF查看的应用程序中使用。本篇文章将详细介绍如何将...

    C#代码PDF转JPG

    在这个场景下,我们要讨论的是如何利用C#代码将PDF文件转换为JPG图像。这个过程涉及到的主要知识点包括PDF解析、图像处理和C#编程技术。 首先,我们需要理解PDF文件的结构。PDF(Portable Document Format)是一种...

    PDF转换为JPGC#源代码

    本示例主要关注的是如何使用C#编程语言将PDF文件转换为JPG图片。C#是一种强大的、面向对象的编程语言,广泛用于开发Windows桌面应用、Web应用以及移动应用等。PDF(Portable Document Format)文件格式常用于保存...

    pdf文件转jpg.zip

    标题“pdf文件转jpg.zip”指的是一个压缩包,其中包含了将PDF文件转换为JPG图片的相关资源。这个压缩包特别适合那些需要在不支持PDF格式的环境中显示PDF内容或者优化PDF在线预览体验的场景。下面我们将详细探讨这个...

    利用ITEXT、PDFBOX将PDF转为图片

    PDF转换为图片是一种常见的需求,特别是在处理PDF文档的可视化展示或者需要进行网页嵌入时。在Java编程环境中,我们可以利用ITEXT和PDFBOX这两个库来实现这个功能。这两个库都是处理PDF的强大工具,各有其特点和优势...

    自动将PDF转化为图片文件

    在IT领域,转换文件格式是一项常见的任务,尤其是将PDF文件转换为图片文件。PDF(Portable Document Format)是一种广泛使用的文档格式,它能保留原始文档的布局和格式,但有时为了便于在网络上传输或进行特定用途,...

    java实现遍历文件夹内pdf分别转成一张jpg图片

    在Java编程环境中,将PDF文件转换为JPEG图片是一项常见的任务,尤其在数据处理或网页展示时。本项目提供了一个解决方案,通过遍历指定文件夹中的所有PDF文档,并将其转化为单张JPEG图片,同时保持原始PDF文件的命名...

    PDF转换JPG格式

    总的来说,PDF Image Extraction Wizard V6.0 绿色汉化版是一个实用、便捷的工具,它能够帮助用户高效地将PDF文件转换为JPG格式,满足多种应用场景的需求。无论是个人使用还是商业项目,这款软件都能提供稳定可靠的...

Global site tag (gtag.js) - Google Analytics