再说说 PDFtox.dll
文档
YCanPDF PDFtoX 2.0 接口说明文档(请在http://www.ycanpdf.cn/ 下载本文档的最新版本以及示例代码)
PDFtoX是YCanPDF工作室开发的把PDF转换成图片的标准动态链接库(DLL)。
有关该动态库的详细功能及接口说明如下:
一、 支持的开发环境
该DLL可在windows系列操作系统下运行,支持VC、VB、JAVA、DELPHI等大多
数主流开发语言,任何可以使用标准DLL的开发语言都可以使用。
二、支持的图像格式
支持BMP、JPG、TIF、PNG、GIF、PCX、TGA等常见图像格式,支持黑白(单色)、
灰度(256 gray)、彩色(24 位真彩)三种输出模式,并且可以指定生成的图像的
分辨率(dpi),最大可以超达到1000。
三、相关常量定义
3.1 图像格式定义
#define YCANPDF_IMAGE_BMP 1
#define YCANPDF_IMAGE_JPG 2
#define YCANPDF_IMAGE_TIF 3
#define YCANPDF_IMAGE_PNG 4
#define YCANPDF_IMAGE_GIF 5
#define YCANPDF_IMAGE_PCX 6
#define YCANPDF_IMAGE_TGA 7
3.2 返回值定义
#define YCANPDF_ERR_SUCCESS 0 //成功
#define YCANPDF_ERR_UNKNOW -1 //未知错误
#define YCANPDF_ERR_ENCRYPTED -2 //文件加密
#define YCANPDF_ERR_NOCOPY -3 //没有复制权限
3.3 PDF 信息类型
#define YCANPDF_INFO_AUTHOR 1 //作者
#define YCANPDF_INFO_TITLE 2 //标题
#define YCANPDF_INFO_KEY 3 //关键字
#define YCANPDF_INFO_SUBJECT 4 //主题
#define YCANPDF_INFO_CREATOR 5 //创建者
四、接口说明
4.1 int _stdcall OpenPDF(char *szPDFFileName, char *szPWD);
功能
打开一个PDF文件。
参数
char *szPDFFileName:PDF的文件名。
char *szPWD: PDF的密码。
返回值
返回一个PDF文件句柄,小于等于0表示失败(3.2定义)。
4.2 int _stdcall ClosePDF(int hPDF);
功能
关闭一个PDF 文件。
参数
int hPDF:OpenPDF方法返回的PDF的文件句柄。
返回值
3.2定义的返回值之一。
4.3
int _stdcall ExportIMG(int hPDF,
char *szDir,char *szPrefix,
int nFormat,
int dpiX,int dpiY,
int nFrom,int nTo,
CB_PROGRESS ProgressFun);
功能
把PDF文件转成图片文件。
参数
int hPDF:OpenPDF方法返回的PDF的文件句柄。
char *szDir, char *szPrefix:保存图片的目录以及文件名前缀。命名格式为:szDir+4位数字编码+szPrefix+文件扩展名。
例如:szDir为”C:\myTest”,szPreFix为”abc”,则最后生成的图片文件为C:\myTest\abc0001.jpg,c:\myTest\abc0002.jpg,….
int nFormat:为图像格式定义的值之一。如果不在这个范围,则自动调整为JPG格式。
int dpiX,int dpiY:生成图像的X,Y分辨率。可根据自己的需要调整这个值,值越大,图像分辨率就越高,图像文件也就越大。
int nFrom,int nTo:要转换的页面范围。获取总页面数可以使用GetPageNum方法(参照4.6)。
CB_PROGRESS ProgressFun:转换过程的回调函数,用户可以通过这个函数掌握和控制转换过程,关于这个函数的详细说明请参考4.11。
返回值
3.2 定义的返回值之一,0 表示成功,其他值表示失败(在3.2 定义)。
4.4
int _stdcall ExportTIF(int hPDF,
char *szDir,char *szPrefix,
int dpiX,int dpiY,
int nFrom,int nTo,
CB_PROGRESS ProgressFun,
int enc,
int bMutiTIF);
功能
把PDF文件转成TIF图片文件。
参数
int hPDF:OpenPDF方法返回的PDF的文件句柄。
char *szDir, char *szPrefix:保存图片的目录以及文件名前缀。命名格式为:szDir+4位数字编码+szPrefix+文件扩展名。
例如:szDir为”C:\myTest”,szPreFix为”abc”,则最后生成的图片文件为C:\myTest\abc0001.jpg,c:\myTest\abc0002.jpg,….
int dpiX,int dpiY:生成图像的X,Y分辨率。可根据自己的需要调整这个值,值越大,
图像分辨率就越高,图像文件也就越大。
int nFrom,int nTo:要转换的页面范围。获取总页面数可以使用GetPageNum方法(参照4.6)。
CB_PROGRESS ProgressFun:转换过程的回调函数,用户可以通过这个函数掌握和控制转换过程,关于这个函数的详细说明请参考4.11。
int enc:压缩方式。
enc=0(JPEG压缩)
enc=1(无压缩)
enc=2(Huffman RLE压缩)
enc=3(Group 3 Fax Encoding压缩)
enc=4(Group 4 Fax Encoding压缩)
enc=5(LZW压缩)
int bMutiTIF: 多页图片。
返回值
3.2 定义的返回值之一,0 表示成功,其他值表示失败(在3.2 定义)。
4.5
int _stdcall ExportJPG(int hPDF,
char *szDir,char *szPrefix,
int dpiX,int dpiY,
int nFrom,int nTo,
CB_PROGRESS ProgressFun,
int nJPEGLevel,
int bGray);
功能
把PDF文件转成图片文件。
参数
int hPDF:OpenPDF方法返回的PDF的文件句柄。
char *szDir, char *szPrefix:保存图片的目录以及文件名前缀。命名格式为:szDir+4位数字编码+szPrefix+文件扩展名。
例如:szDir为”C:\myTest”,szPreFix为”abc”,则最后生成的
图片文件为C:\myTest\abc0001.jpg,c:\myTest\abc0002.jpg,….
int nFormat:为图像格式定义的值之一。如果不在这个范围,则自动调整为JPG格式。
int dpiX,int dpiY:生成图像的X,Y分辨率。可根据自己的需要调整这个值,值越大,图像分辨率就越高,图像文件也就越大。
int nFrom,int nTo:要转换的页面范围。获取总页面数可以使用GetPageNum方法(后面有说明)。
CB_PROGRESS ProgressFun:转换过程的回调函数,用户可以通过这个函数掌握和控制转换过程,关于这个函数的详细说明请参考4.11。
int nJPEGLevel:JPEG图片品质。(0<nJPEGLevel<=100)
int bGray:是否灰度图。(bGray=0,真彩色;bGray=1,灰度图;)
返回值
3.2 定义的返回值之一,0 表示成功,其他值表示失败(在3.2 定义)。
4.6 int _stdcall GetPageNum(int hPDF);
功能
获取PDF文件的总页数。
参数
int hPDF:OpenPDF方法返回的PDF的文件句柄。
返回值
总页面数。小于等于0表示失败。
4.7 int _stdcall GetPageWidth(int hPDF, int nPage);
功能
获取指定页面的宽。
参数
int hPDF:OpenPDF方法返回的PDF 的文件句柄。
int nPage:要获取页码(同一个PDF中每页的宽和高可能不一样)
返回值
页面的宽,0为不合法。
4.8 int _stdcall GetPageHeight(int hPDF, int nPage);
功能
获取指定页面的高。
参数
int hPDF:OpenPDF方法返回的PDF 的文件句柄。
int nPage:要获取的页码(同一个PDF中每页的宽和高可能不一样)
返回值
页面的高,0为不合法。
4.9 char * _stdcall GetInfo(int hPDF,int InfoType);
功能
获取PDF文件信息。
参数
int hPDF:OpenPDF方法返回的PDF的文件句柄。
int InfoType:要获取的信息类别(3.3中定义)
返回值
信息内容。
注意:这个返回的内容必须要调用FreeMem方法释放,否则会发生内存泄漏。
4.10 void _stdcall FreeMem(char *pBuff);
功能
释放GetInfo返回的内存。
参数
char *pBuff: GetInfo方法返回的内存指针。
4.11 int CB_PROGRESS(int nMin,int nMax,int nCur)
功能
回调函数。
参数
int nMin,int nMax,int nCur:分别返回转换的起始页、终止页、当前页。这个函数在每一页转换之前调用,用户可以在这里加入处理界面刷新、掌控进度等的代码,函数返回0则马上停止转换。