当我使用Magick ++ Blob时,如何仅获取第一个PDF页面? 我知道,如果我将文件名放在后面的运算符“ [0]”后面,则可以选择第一页。但是在这种情况下,我没有“本地”文件...因此我需要从BLOB中提取第一页...
我非常希望有人可以帮助我!
这是我的示例源代码:
static inline std::vector<char> convertPDF2JPG(const std::vector<char>& originalPDF, const bool compress) {
Magick::Blob magickOriginalPDF(originalPDF.data(), originalPDF.size());
Magick::Image oMagick;
oMagick.read( magickOriginalPDF, "PDF" );
if( compress ) {
oMagick.compressType(Magick::JPEGCompression);
oMagick.quality(70);
oMagick.strip();
oMagick.interlaceType(Magick::NoInterlace);
}
Magick::Blob output_blob;
std::string output;
oMagick.write(&output_blob, "JPG");
output.assign((char*) output_blob.data(), output_blob.length());
return std::vector<char>(output.begin(), output.end());
}