在VB6 处理pdf 和jpg文件

最近做的一个项目需用将pdf文件页面输出成jpg图片文件,再对这些输出的jpg页面进行裁剪操作。

因为VB6比较旧了,很多主流的插件没有vb6可用的api或者示例代码,网上找了很久,总结一下VB6可行的方案:

一、处理pdf文件

1.Apache PDFBox

PDFBox 是一个使用Java编写的开源的PDF文档处理库
可以在这里下载:
http://pdfbox.apache.org/

因为是使用Java编写的,所以使用前需要安装jre
程序支持命令行,在VB中具体调用方式是以shell()命令调用,例如:

shell ("java -jar pdfbox-app-2.0.4.jar PDFToImage -imageType jpg C:\1.pdf")

上面命令将一个pdf文件的所有页面输出成jpg图片,还有许多其他命令可以用,具体参考:
http://pdfbox.apache.org/2.0/commandline.html

PDFBox有一个较大的不足是处理速度较慢

2.Debenu Quick PDF Library

Debenu目前已经被国内的Foxit福晰收购了,是一个商业软件,使用需要付费,不过网上可以找到注册码。
下载后需要ActiveX的quickpdf.dll和quickpdf.tlb两个文件,使用前可以先用系统自带的Regsvr32注册quickpdf.dll,也可以不,如果在其他电脑上运行出错时则需要注册。

菜单栏-工程-引用,选择浏览,选中quickpdf.tlb后即在工程中引用了这个库了:
引用

接下来,可以按F2查看这个库中可以调用的对象,完整的开发文档在这里:
http://www.debenu.com/products/development/debenu-pdf-library/help/developer-guide/

接下来是进入实际开发环节,由于是商业软件,首先需要输入注册信息:

Dim pb As New DebenuPDFLibraryAX1016.PDFLibrary
Dim RegStatus As Integer
RegStatus = pb.UnlockKey("j87ig3k84fb9eq9dy34z7u66y")
Print RegStatus

调用后如果返回RegStatus为1,则表明注册成功

将PDF页面转换成图片文件:

QP.LoadFromFile("sample.pdf", "")          '第一步将文件载入内存
iNumPages = QP.PageCount()          '获取pdf文件的页数
QP.RenderDocumentToFile(100, 1, iNumPages, 0, "image.bmp")  '转换

其他命令请参考开发文档

二、处理jpg图像文件

网上给出的解决方案有二:使用GDI+;调用Intel JPEG lib。这里介绍另一种开源的解决方案FreeImage,支持jpg、png、bmp等多种图像处理,可以在这里下载dll和开发文档:
http://freeimage.sourceforge.net/download.html

需要的文件是压缩包里的FreeImage.dll和modFreeImage.bas,将两个文件放到程序目录下。

新建一个工程,将modFreeImage.bas作为模块添加,这样就可以调用dll了。

对图片进行重采样:

Dim dib As Long
Dim dib2 As Long
dib = FreeImage_LoadU(FIF_JPEG, "jpgfile.jpg",0)    '将图片载入内存
dib2 = FreeImage_Rescale(dib, 1280, 800, FILTER_BOX)    '重采样
Call FreeImage_SaveU(FIF_JPEG, dib2, "tgfile.jpg",0)    '保存文件
FreeImage_Unload(dib)                   '释放内存
优道PDF阅读控件(UUDoc PDF Control)是一款支持反截屏功能的PDF文档数字版权保护控件,支持对PDF文档的在线加密保护,可支持多种不同类型的浏览器和桌面应用程序使用。控件通过简单的属性设置即可完成对文档的复制、打印和截图的授权控制,独特的服务器端配置模式,支持在服务器端对控件进行属性设置, 防止了客户端通过脚本对版权控制功能进行篡改的可能。控件支持内存方式加载文档和加密传输方式远程加载文档,控件小巧可独立运行,不需要另外再安装其它庞大的PDF阅读器。 控件自带有换页、查找、缩放、拖拽、旋转、适应页面、适应页宽等常用文档浏览器的功能,可以轻松的嵌入到各类网站、Web应用系统和桌面应用程序当中,能有效的和您目前的应用进行无缝集成。控件支持PDF动态水印定义功能,能给您最强有力的文档阅读和数字版权保护功能支持。产品特点:文件小巧 控件大小不超过3M,客户端不需要再另外安装其它庞大的PDF阅读器;使用简单 通过属性的设置和方法的调用即可完成PDF文档阅读器的复杂功能;兼容性强 支持嵌入到各种常用的主流浏览器和桌面应用程序当中,支持各类编程语言进行调用;大文件支持 可以对大尺寸文档和大图片进行很好的渲染;版权保护支持 可以通过属性设置完成对复制、截屏和打印等数字版权保护功能的控制,支持动态添加水印;服务器端配置 属性设置支持在服务器端进行,防止了在客户端对版权控制功能进行篡改的可能;高强度加密 采用国际权威的高强度加密算法在内存中完成加密解密,远程加密传输,不留任何痕迹;功能齐全 附带有换页、查找、放大、缩小、旋转、颜色定制等文档浏览器常用功能,支持通过Javascript与网页进行交互,支持动态水印功能;各种语言支持 服务器端支持Windows及Linux的服务器,支持各种编程语言,例如asp,asp.net,php,java,c#,vb,vb.net,,delphi,c++,python,ruby等 ;国际权威认证 软件经过国际权威机构安全数字签名认证,通过多种环境及杀毒软件测试,可安全运行。 运行环境要求:客户端操作系统:WindowsXP/2003/2008/Vista/Win7/Win8,支持32位及64位操作系统支持启用ActiveX技术的IE浏览器和使用NPAPI技术标准的非IE浏览器打开使用浏览时需按照提示安装控件并刷新页面加载控件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值