在一些涉及PDF的项目中,需要对PDF格式文件进行处理,能处理PDF的项目很多,但是有很多不是免费的,我今天推介的是一个轻量好用的PDF处理项目,SumatraPDF,我在实际项目中也用到了这个项目,下面就对该项目做个介绍。

SumatraPDF项目是外国人开发,其基于mupdf实现。

1. 官方网址

https://github.com/sumatrapdfreader/sumatrapdf

2. 代码地址

https://github.com/sumatrapdfreader/sumatrapdf.git

3. 代码编译

以版本V3.3.0.0为例进行说明。

编译改版本需要安装vs2019,由于该项目是基于英文的,用汉化的vs2019进行编译会出现如下错误:

修改方法如下:

将上图所指选择为“否”,就可以编译通过

4.对PDF文件进行图形标注

图形标注主要修改文件:src\Canvas.cpp,处理WM_MOUSEMOVE, WM_LBUTTONDOWN,

WM_LBUTTONUP, WM_PAINT消息,实现效果如下,如果想知道具体实现,可以私信我。

SumatraPDF一个很nice的PDF开源项目相关推荐

  1. 面对世界竞争对手,如何拿到Google PDF开源项目PDFium?

    面对世界竞争对手,如何拿到Google PDF开源项目PDFium? 发表于2015-10-20 15:06| 844次阅读| 来源CSDN| 8 条评论| 作者蒲婧 CTO俱乐部CTO讲堂CTOPD ...

  2. 一些很特别的J2ME开源项目

    一些很特别的J2ME开源项目(转 文章分类:移动开发 StrutsME 一个轻量级的序列化协议,使J2ME客户端能调用Struts Web应用程序. http://www.strutsme.org/ ...

  3. 如何做一个真正牛X 的开源项目

    2019独角兽企业重金招聘Python工程师标准>>> 近年来,越来越多的开发者选择将自己的产品以开源形式发布,有时的结果是--你满怀诚意地开源,却无人问津.尽管你的产品做得相当好, ...

  4. 20+个很棒的Android开源项目

    20+个很棒的Android开源项目 本文摘自文章: 20+ Awesome Open-Source Android Apps To Boost Your Development Skills. 考虑 ...

  5. 打造一个高逼格的android开源项目——小白攻略

    小引子 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看到页面汇中有好多的彩色标签,看起来很酷,很专业 ...

  6. 美团脱颖而出的经验_2016年脱颖而出的7个很棒的小开源项目

    美团脱颖而出的经验 在开放源代码运动的早期,很多注意力都集中在操作系统上,后来又集中在大型内容管理系统上. 如今,即使在主流新闻媒体中也经常提到容器. 大型技术故事很棒,但是他们错过了开放源代码领域的 ...

  7. 介绍一个关于小米Zigbee的开源项目

    AqaraHub 说明:这个是一个开源项目,有兴趣的可以看一下. 项目名称: Frans-Willem/AqaraHub: github连接:https://github.com/Frans-Will ...

  8. 手把手教大家在自己的Windows电脑上搭建一个视频电话系统(基于开源项目FreeSwitch+Linphone)

    目前可以做视频电话的流媒体开源项目有很多,那么今天我就手把手教大家(基于FreeSwitch+Linphone)搭建一个免费的开源的能在局域网中使用的视频电话系统,部署与配置都非常的简单,而且点对点的 ...

  9. 推荐一个必学的嵌入式开源项目

    给大家推荐一个非常适合学习的嵌入式开源项目:mjpg-streamer. 如果你有C语言.Linux基础,那研究这个项目将会对你的技术有很大的提升. mjpg-streamer是谷歌开源的视频采集服务 ...

  10. 20个很棒的android开源项目帮助你提升开发技能

    对程序员来说,最好的学习也是阅读,多看别人优秀的代码,加以总结学习应用.如果你想成为一个更好的开发者,就必须阅读大量的代码.书本,博客,论坛在一定程度上都是比较好的,但是比不上一些功能完整详细的开源项 ...

最新文章

  1. UVA11624 Fire!(bfs)
  2. php 字符串处理
  3. iOS bug 日志 -frame 和 bounds的区别
  4. mysql分页的优势_数据库经典分页几种实例及各优缺点
  5. 《实施Cisco统一通信管理器(CIPT2)》一1.6 拨号计划方面面临的挑战
  6. 如何查他人【思科CCIE证书真伪、有效期】
  7. c语言中 printf(quot;nquot;),关于C语言 printf(quot;%d\nquot;,printf(quot;%dquot;,printf(quot;%dquot;...
  8. 平面设计python教程_什么是平面设计? - Python学习教程的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. HDU 1026 广度优先搜索,BFS+路径的记录
  10. idata 单片机 新唐_半导体新唐单片机怎么样_新唐单片机是台湾的吗
  11. 已知三角形顶点坐标,求其外接圆的公式
  12. 电池测试系统连接服务器失败,服务器报电池故障
  13. Pyppeteer使用代理IP(需要权限验证)
  14. Objective-C简单的音乐播放器(边下边播)
  15. Flink部署——Debugging(开发实用,建议收藏)
  16. Intel无线网卡AX210驱动bug
  17. php四六级报名考试源码,全国大学英语四六级考试报名官网
  18. signature=ac75cb7977a45c0f7d8a73dca59a4c27,合肥2016年8月24日至2016年9月5日交通违章查询...
  19. NTL密码算法开源库(数论库)代码分析项目--综述
  20. Python 基于modbus tcp 协议 实现与plc通信

热门文章

  1. linux自动联想,在联想扩展坞和Linux上自动切换显示
  2. Excel:删除一列中的重复值
  3. Longest_consecutive_sequence
  4. 从使用者观点去认识软件系统
  5. 赵小楼《天道》《遥远的救世主》深度解析(66)辩证思维的讨论:人性、教义、逻辑
  6. Ribbon负载均衡分析
  7. 解读MT7620A上的DTS文件
  8. Proteus,keil5仿真运行stm32程序,流水灯详细教程
  9. 星空之翼游戏的设计与实现
  10. SAP发票校验中支付条件中的基准日期缺省值的配置及控制逻辑测试