muPdf 把 pdf 转换为 png 图片

    为了把pdf 导出为图片,看了网上很多的例子。基本没有一个完整可用的,基本都是部分正确。

    下面总结了能够比较简单的得到 mupdf.dll 的方法,并且使用方法。

step1: 下载SumatraPDF工程:
https://github.com/Bitterbell/Pdf-Reader


    muPdf 库是一个开源的 pdf 读取器,但是在 github 上下载的源码编译得到 muPdf.dll 比较困难。所以我们下载 SumatraPDF 这个工程,它只能用 vs2017 打开。我们可以经过下面的步骤,得到 mupdf.dll 然后使用。
【注1】Pdf-Reader-master.zip 这个解压后就是 SumatraPDF。


【注2】下面的连接有 vs2008、vs2010 等的 sln 文件。
https://github.com/kzmkv/SumatraPDF


step2: 修改  libmupdf.def 文件,正确导出我们需要的接口。
在  libmupdf.def  文件里面加上如下的内容:
fz_open_document
fz_close_document
fz_count_pages
fz_load_page
fz_bound_page
fz_run_page
fz_free_page


step3: 编译 pdf-reader-master 得到动态库。
    我们可能遇到下面的 error,利用 disable 遇见可以解决。
错误1:warning treated as error - no 'object' file generated
用下面的语句屏蔽错误。
#pragma warning(disable: 4047 4013)


step4: 使用编译得到的 libmupdf.dll 和 libmupdf.lib
    (1). 拷贝 Pdf-Reader-master\mupdf\include 内容到新建的 vs project。
    (2). 需要的头文件如下:
extern "C" {
#include "mupdf/fitz.h"
#include "mupdf\fitz\document.h"
#include "mupdf\pdf.h"
}
    (3). 正确设置  libmupdf.lib 的目录。
#pragma comment(lib, "libmupdf.lib")
    设置的方式是: 工程---属性---配置属性---链接器---常规---附加库目录

你可能感兴趣的:(技术)