我正在尝试使用c++中的vips读取.PDF并转换为.jpeg文件。问题是代码将所有页面保存在一个文件.jpeg中。如何保存多个.jpeg文件?
我的代码
VOption *voptions = new VOption();
voptions->set("dpi",150);
voptions->set("page", 0);
voptions->set("n", -1);
VImage in = VImage().pdfload("/Users/gui/Desktop/PDF_Reader/files/TEST_DOC_READER.pdf",voptions);
in.write_to_file("/Users/MyUser/Desktop/PDF_Reader/outputs/*.jpeg");
我找到了一种使用crop解决此问题的方法。
VImage in = VImage().pdfload("/Users/MyUser/Desktop/PDF_Reader/files/TEST_DOC_READER.pdf", voptions);
pages = in.get_int("n-pages");
h = in.height()/pages;
for(int i=0; i<pages; i++){
in.crop(0,i*h, in.width(), h).jpegsave((outdir+to_string(i)+format).c_str());
}