我的目标是获取其他pdf元数据,例如标准,同名,cmyk ...
我已经尝试了TcpdF,Imagick,GD和其他库,但没有成功。 Imagick有方法“ getcolorspace”,但是不幸的是,它不能与pdf一起正常工作,因为在pdf中我们必须查看每一层?
function check_image_is_cmyk($image_file_path) {
$imagick_file_contents = file_get_contents($image_file_path);
$imagick_file = new Imagick();
$imagick_file->readImageBlob($imagick_file_contents);
$image_color_space = $imagick_file->getimagecolorspace();
/* BEGIN - ALL AVAILABLE COLORSPACE CONSTANTS
Imagick::COLORSPACE_UNDEFINED; //0
Imagick::COLORSPACE_RGB; //1
Imagick::COLORSPACE_GRAY; //2
Imagick::COLORSPACE_TRANSPARENT; //3
Imagick::COLORSPACE_OHTA; //4
Imagick::COLORSPACE_LAB; //5
Imagick::COLORSPACE_XYZ; //6
Imagick::COLORSPACE_YCBCR; //7
Imagick::COLORSPACE_YCC; //8
Imagick::COLORSPACE_YIQ; //9
Imagick::COLORSPACE_YPBPR; //10
Imagick::COLORSPACE_YUV; //11
Imagick::COLORSPACE_CMYK; //12
Imagick::COLORSPACE_SRGB; //13
Imagick::COLORSPACE_HSB; //14
Imagick::COLORSPACE_HSL; //15
Imagick::COLORSPACE_HWB; //16
Imagick::COLORSPACE_REC601LUMA; //17
Imagick::COLORSPACE_REC601YCBCR; //18
Imagick::COLORSPACE_REC709LUMA; //19
Imagick::COLORSPACE_REC709YCBCR; //20
Imagick::COLORSPACE_LOG; //21
Imagick::COLORSPACE_CMY; //22
Imagick::COLORSPACE_LUV; //23
Imagick::COLORSPACE_HCL; //24
Imagick::COLORSPACE_LCH; //25
Imagick::COLORSPACE_LMS; //26
Imagick::COLORSPACE_LCHAB; //27
Imagick::COLORSPACE_LCHUV; //28
Imagick::COLORSPACE_SCRGB; //29
Imagick::COLORSPACE_HSI; //30
Imagick::COLORSPACE_HSV; //31
Imagick::COLORSPACE_HCLP; //32
Imagick::COLORSPACE_YDBDR; //33
END - ALL AVAILABLE COLORSPACE CONSTANTS */
if ($image_color_space === Imagick::COLORSPACE_CMYK) {
return true;
}
return false;
}
这就是我已经获得PDF版本的方法,但不幸的是,它不是标准版本(例如PDF / X-3)
function check_pdf_version($image_file_path) {
$imagick_file_contents = file_get_contents($image_file_path);
$imagick_file = new Imagick();
$imagick_file->readImageBlob($imagick_file_contents);
$exif_array = $imagick_file->getImageProperties();
$pdf_version = "";
if (!empty($exif_array['pdf:Version'])) {
$pdf_version = str_replace('PDF-',"",$exif_array['pdf:Version']);
}
if (!empty($exif_array['pdf:Version']) && floatval($pdf_version) > 1.2) {
return true;
}
return false;
}
示例: 如果我打开一个pdf文件,我可以获得以下信息:
任何人都知道如何提取这些附加数据。