mupdf将pdf文件中的某页导出成图片

纵饮孤独 提交于 2019-12-03 22:29:38

下面是编译一下mupdf的例子,由于他使用的是win系统,所以以下是在win上的vs2008的编译步骤。
下载地址:www.mupdf.com
我下载的版本是:mupdf-1.3-source.tar.gz
目录构成:
解压缩以后发现有个platform目录,下面有win32目录,打开里面的mupdf.sln
1. 编译出来mupdf工程,会有生成的三个库文件:
    libmupdf.lib
    libmupdf-js-none.lib
    libthirdparty.lib
2. 新建一个win32控制台空工程,叫做test
3. 将example.c拷贝到工程目录下,
    并加到test工程中
4. 修改test工程的属性,在C/C++选项卡中将
    Additional Include Directories中加上
    mupdf的include的目录,比如,我的是:
    .;..\..\..\include;
5. 在Linker的Input选项卡中将
    Ignore Specific Library(忽略的库)
    加上libcmtd.lib,(release是:libcmt.lib)
6. 在example.c的开头加上库的链接,比如我加的是:
    #ifdef _DEBUG
    #pragma comment(lib, "..\\debug\\libmupdf.lib")
    #pragma comment(lib, "..\\debug\\libmupdf-js-none.lib")
    #pragma comment(lib, "..\\debug\\libthirdparty.lib")
    #else
    #pragma comment(lib, "..\\release\\libmupdf.lib")
    #pragma comment(lib, "..\\release\\libmupdf-js-none.lib")
    #pragma comment(lib, "..\\release\\libthirdparty.lib")
    #endif
7. 由于example.c 是个c文件,变量的定义必须都放在开头。
    将以下四的声明放在render函数的开头
        fz_rect bounds;
        fz_irect bbox;
        fz_pixmap *pix = NULL;
        fz_device *dev = NULL;
8. 编译test工程,生成test.exe文件
    在命令行中执行:
    test d:\\temp\\unix2.pdf 147
9. 在test.exe所在的目录会生成out.png


还可以生成大图,只要将命令行写成
test d:\\temp\\unix2.pdf 147 200
就是缩放比例为200%的图了。

清晰了许多。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!