C++ builder xe 用imageen组件ImageEnView1合并多个图片导出一个pdf

//其中ImageFiles是一个ImageFiles = new TStringList();需要先载入图片文件路径

void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{

TImageEnMView *tempView = new TImageEnMView(this);

// 获取当前图像

try

{

tempView->Clear();

SaveDialog1->Filter = "PDF files (*.pdf)|All files (*.*)|*.*";

// 设置默认文件名

SaveDialog1->FileName = "Merged_";

SaveDialog1->DefaultExt="pdf";

if(SaveDialog1->Execute())

{

// 2. 循环添加所有目标图片路径

int HBsum=0;

for (int i = 0; i < ImageEnMView1->ImageCount; i++)

{

// 使用Checked属性而不是SetCheck方法

if( ImageEnMView1->Checked[i] )

{

tempView->MIO->LoadFromFile(ImageFiles->Strings[i]);

HBsum++;

}

}

if(HBsum>0)

{

// 3. 执行多页PDF导出操作

//tempView->SaveToPDF(SaveDialog1->FileName);

tempView->MIO->SaveToFilePDF(SaveDialog1->FileName);

ShowMessage("成功合并 "+String(HBsum)+" 图片并导出PDF!");

}

else

ShowMessage("没有选择合并的图片!");

}

}

__finally {

delete tempView;

}

}

相关推荐
lzksword1 个月前
C++ Builder XE在RzListView1中使用 Selected 属性获取行号,双击显示选中某行的行号
c++ builder xe·selected 属性·rzlistview·获取行号