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


    刚才有朋友问我,如何将pdf的某一页导成图片,我想起来之前有弄过mupdf提供的示例就有这功能。

    mupdf是一个开源的读取pdf文件的工具,我也一直用这个即简洁又灵巧的东西阅读PDF文档,电脑上没有安装Adobe Reader及Acrobat系列,也没有安装Foxit系列的PDF阅读器,因为mupdf总是可以满足我的需求了,而我的需求也确实并不高,而且mupdf有类似于vi的按键操作,'j','k','l','h',',','.',   g 用来转到指定页面,147g则转到第147页。灰常好用。

    下面是编译一下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%的图了。

    清晰了许多。

  • 相关阅读:
    bitcoin PoW原理及区块创建过程
    Hyperledger Fabric(v1.1.0)编译时遇到的问题
    Hyperledger Fabic中的Transaction流程
    mint linux 18.3 遇到“已安装的 post-installation 脚本 返回了错误号 127 ”问题的解决
    redis--解析字符串
    golang 统计uint64 数字二进制存储中1的数量
    c++ std 最小堆的使用 (用于实现top100之类的功能)
    Linux 信号signal处理函数
    Linux 信号signal处理机制
    LinuxMint 下 B站 番 blv 缓存 转 mp4
  • 原文地址:https://www.cnblogs.com/junx1989/p/20130910_mupdf.html
Copyright © 2020-2023  润新知