ParametersMap PDFImageService::run( std::ostream& stream, const Request& request ) const { // Get the pdf PDF& pdf(PDFCMSModule::GetRequestPDF(request)); // Get or create image HPDF_Image image(pdf.getImage(_key)); if(!image) { string content(_image->get<WebpageContent>().getCMSScript().eval()); image = pdf.embedPNGImage(_key, content); } // Width and Height float width(_width); float height(_height); if(!width && height) { HPDF_Point siz(HPDF_Image_GetSize(image)); width = _height * (siz.x / siz.y); } else if(!height && width) { HPDF_Point siz(HPDF_Image_GetSize(image)); height = _width * (siz.y / siz.x); } // Draw the image pdf.drawImage( image, PDF::GetPixelsFromMM(_x), PDF::GetPixelsFromMM(_y), width ? PDF::GetPixelsFromMM(width) : HPDF_Image_GetWidth(image), height ? PDF::GetPixelsFromMM(height) : HPDF_Image_GetHeight(image) ); // Return nothing ParametersMap map; return map; }
JNIEXPORT jint JNICALL Java_com_draekko_libharu_PdfImage_getSizeY (JNIEnv *env, jobject obj) { haru_setup_error_handler(env, __func__); HPDF_Point point; HPDF_Image image = get_HPDF_Image(env, obj); point = HPDF_Image_GetSize(image); haru_clear_error_handler(); return point.y; }
HPDF_Image_GetHeight (HPDF_Image image) { return (HPDF_UINT)HPDF_Image_GetSize (image).y; }
HPDF_Image_GetWidth (HPDF_Image image) { return (HPDF_UINT)HPDF_Image_GetSize (image).x; }
HPDF_Image_GetHeight (HPDF_Image image) { return HPDF_Image_GetSize (image).y; }
HPDF_Image_GetWidth (HPDF_Image image) { return HPDF_Image_GetSize (image).x; }