将PDF文档转换为图片
bool ConvertToImage(const wchar_t* pdf_path, const wchar_t* dest_dir) {
    PDF2Word pdf_to_image;
    auto open_result = pdf_to_image.Open(pdf_path);
    if (open_result == PDF2Image::kOpenSuccess) {
        return pdf_to_image.Save(dest_dir);
}
return false;
}
方法:PDF2Image::Open
- 方法说明:打开PDF文档
- 调用参数说明:
| 参数 | 类型 | 必须 | 说明 | 
| file_path | const char*或 const wchar_t* | 是 | PDF文档路径。 | 
| password | const unsigned char* | 否 | 密码 | 
| password_length | size_t | 否 | 密码长度 | 
- 返回类型:
| 类型 | 说明 | 
| /** * @brief 打开结果 */ enum OpenResult { kOpenFailed, kOpenSuccess, kOpenNeedPassword = 4, }; | 打开是否成功。 | 
PDF2Image pdf_to_image;
unsigned char pwd[100] = {  "123456" };
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf", pwd, 6u);
if (open_result != PDF2Image::kOpenSuccess) {
    switch (open_result) {
        case PDF2Image::kOpenFailed:
            std::cerr << "打开文档失败." << std::endl;
            break;
        case PDF2Image::kOpenNeedPassword:
            std::cerr << "文档需要密码." << std::endl;
        default:
            break;
    }
}
方法:PDF2Image::AddPageRange
- 方法说明:添加转换页面范围,默认转换全部页面
- 调用参数说明:
| 参数 | 类型 | 必须 | 说明 | 
| start | unsigned int | 是 | 起始页面 | 
| end | unsigned int | 是 | 结束页面 | 
| step | unsigned int | 否 | 步进,默认值是1 | 
- 返回类型:
| 类型 | 说明 | 
| Void | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
    pdf_to_image.AddPageRange(2u,5u);
}
方法:PDF2Image::SetRegion
- 方法说明:设置转换页面矩形区域
- 调用参数说明:
| 参数 | 类型 | 必须 | 说明 | 
| left | float | 是 | 矩形区域左上角x轴坐标值 | 
| top | float | 是 | 矩形区域左上角y轴坐标值 | 
| right | float | 是 | 矩形区域右下角x轴坐标值 | 
| bottom | float | 是 | 矩形区域右下角y轴坐标值 | 
- 返回类型:
| 类型 | 说明 | 
| Void | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
    pdf_to_image.SetRegion(100,300,200,200);
}
方法:PDF2Image::GetIgnoreImage
- 方法说明:获取忽略页面中的图片,默认为否
- 返回类型:
| 类型 | 说明 | 
| Bool | 是否忽略页面中的图片 | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetIgnoreImage(true);
if (pdf_to_image.GetIgnoreImage()) {
    std::cout << "忽略图片." << std::endl;
}
}
方法:PDF2Image::GetImageOfEntirePage
- 方法说明:获取是否将每一页转换为一张图片,默认为否
- 返回类型:
| 类型 | 说明 | 
| bool | 是否将每一页转换为一张图片 | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetImageOfEntirePage(true);
if (pdf_to_image.GetImageOfEntirePage()) {
    std::cout << "整个页面转换为图片." << std::endl;
}
}
方法:PDF2Image::GetImageDpi
- 方法说明:获取文档中图片的DPI
- 返回类型:
| 类型 | 说明 | 
| float | DPI值 | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
    std::cout <<“DPI:”<< pdf_to_image.GetImageDpi() << std::endl;
}
方法:PDF2Image::SetIgnoreImage
- 方法说明:设置忽略页面中的图片
- 调用参数说明:
| 参数 | 类型 | 必须 | 说明 | 
| ignore_image | bool | 是 | 忽略页面中的图片 | 
- 返回类型:
| 类型 | 说明 | 
| Void | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetIgnoreImage(true);
}
方法:PDF2Image::SetImageOfEntirePage
- 方法说明:设置是否将每一页转换为一张图片
- 调用参数说明:
| 参数 | 类型 | 必须 | 说明 | 
| image_of_entire_page | Bool | 是 | 是否将每一页转换为一张图片 | 
- 返回类型:
| 类型 | 说明 | 
| Void | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetImageOfEntirePage(true);
}
方法:PDF2Image::SetImageDpi
- 方法说明:设置转换后图片的DPI
- 调用参数说明:
| 参数 | 类型 | 必须 | 说明 | 
| dpi | float | 是 | 图片的DPI | 
- 返回类型:
| 类型 | 说明 | 
| Void | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetImageDpi(90);
}
方法:PDF2Image::GetIgnoreLink
- 方法说明:获取是否忽略页面中的超链接
- 返回类型:
| 类型 | 说明 | 
| bool | 是否忽略页面中的超链接 | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetIgnoreLink(true);
if (pdf_to_image.GetIgnoreLink()) {
    std::cout << "忽略超链接." << std::endl;
}
}
方法:PDF2Image::SetIgnoreLink
- 方法说明:设置是否忽略页面中的超链接
- 调用参数说明:
| 参数 | 类型 | 必须 | 说明 | 
| ignore_link | bool | 是 | 是否忽略页面中的超链接 | 
- 返回类型:
| 类型 | 说明 | 
| Void | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetIgnoreLink(true);
}
方法:PDF2Image::GetZipOutput
- 方法说明:获取是否压缩输出文档
- 返回类型:
| 类型 | 说明 | 
| bool | 是否压缩输出文档 | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetZipOutput(true);
if (pdf_to_image.GetZipOutput()) {
    std::cout << "压缩输出文档." << std::endl;
}
}
方法:PDF2Image::SetZipOutput
- 方法说明:设置是否忽略页面中的超链接
- 调用参数说明:
| 参数 | 类型 | 必须 | 说明 | 
| zip_output | bool | 是 | 是否压缩输出文档 | 
- 返回类型:
| 类型 | 说明 | 
| Void | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetZipOutput(true);
}
方法:PDF2Image::Save
- 方法说明:保存转换的文档
- 调用参数说明:
| 参数 | 类型 | 必须 | 说明 | 
| dest_path | const char*或 const wchar_t* | 是 | 目标文件路径 | 
| image_format | /** * @brief 图片的格式 */ enum ImageFormat { kFormatBmp, /**< @brief BMP 格式 */ kFormatJpeg, /**< @brief JPEG 格式 */ kFormatPng, /**< @brief PNG 格式 */ kFormatGif, /**< @brief GIF 格式 */ kFormatTiff, /**< @brief TIFF 格式 */ }; | 否 | 输出图片格式,默认为jpeg | 
| progress | Progress | 否 | 保存进度通知对象,默认为空 | 
- 返回类型:
| 类型 | 说明 | 
| Void | 
PDF2Image pdf_to_image;
auto open_result = pdf_to_image.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Image::kOpenSuccess) {
pdf_to_image.SetZipOutput(true);
pdf_to_image.Save(L"F:\\output\\test_jpg.zip");
}