程序员每天写1000字每周500字

iOS MUPDF集成及开发(干货!)

2018-03-14  本文已影响58人  睿少

MUPDF的集成

网上一搜一大把的MUPDF集成教程,大致步骤如下:
1.git上下载代码
2.运行 mupdf -> platform -> ios 文件夹下就可以运行官网的demo

  1. Build目录下会生成对应各种架构的静态库
    4.将该目录下的.a文件复制到我们的项目当中
    5.include目录整个导入到项目中
    注意:官网提供的demo是MRC,若是集成到的项目使用ARC则需要进行混编
    6.然年就可以调用了。。。。

具体可以看一下MUPDF集成详情步骤

我找到一种简单的集成方法

1.直接在项目中通过cocopod 下载 MuPDF
pod 'MuPDF'

注意:
通过cocopod下载的MuPDF是不全的,有丢失图片文件

这些图标都没有

图片的设置地址:

图片的设置地址

你可以自定义图片

你会发现一个大BUG:无法搜索!!

搜索的关键代码

你需要把这里的代码修改成上面的代码!

fz_page *page = fz_load_page(ctx, doc, number);
    fz_rect mediabox;
    fz_stext_sheet *sheet = fz_new_stext_sheet(ctx);
    fz_stext_page *text = fz_new_stext_page(ctx, fz_bound_page(ctx, page, &mediabox));
    fz_device *dev = fz_new_stext_device(ctx, sheet, text, NULL);
    fz_run_page(ctx, page, dev, &fz_identity, cookie);
    fz_close_device(ctx, dev);
    fz_drop_device(ctx, dev);
    
    hit_count = fz_search_stext_page(ctx, text, needle, hit_bbox, nelem(hit_bbox));
    
    fz_drop_stext_page(ctx, text);
    fz_drop_stext_sheet(ctx, sheet);
    fz_drop_page(ctx, page);
    
    return hit_count;

现在的MuPDF就是一个完美的代码的了!!

MuPDF 在项目中使用!!

导入头文件
#import "mupdf/MuDocRef.h"
#import "mupdf/MuDocumentController.h"
#include "mupdf/fitz.h"
#include "mupdf/common.h"
文件大小
enum
{
    ResourceCacheMaxSize = 128<<20  /**< use at most 128M for resource cache */
};

关键代码
queue = dispatch_queue_create("com.artifex.mupdf.queue", NULL);

    screenScale = [[UIScreen mainScreen] scale];

    ctx = fz_new_context(NULL, NULL, ResourceCacheMaxSize);
    fz_register_document_handlers(ctx);

    NSString *file = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"pdf"];
    MuDocRef *doc;

    doc = [[MuDocRef alloc] initWithFilename:file];
    if (!doc) {
        NSLog(@"Cannot open document '%@'", file);
        return YES;
    }

    MuDocumentController *document = [[MuDocumentController alloc] initWithFilename:file path:file document: doc];

这样就可以了,打开PDF的时候带着文件名跳转到这个控制器就可以了!

大功告成!!

这是缺失图片:

链接:https://pan.baidu.com/s/1TBrSYKbcr6SWjDsTbvk0Rw 密码:zn1p

上一篇下一篇

猜你喜欢

热点阅读