# # This has been ported by Hiroshi Saito(hiroshi@winpg.jp) # Copyright notice of the original as below. # # # * << Haru Free PDF Library 2.0.0 >> -- png_demo.c # * # * Copyright(c) 1999-2006 Takeshi Kanno # * # * Permission to use, copy, modify, distribute and sell this software # * and its documentation for any purpose is hereby granted without fee, # * provided that the above copyright notice appear in all copies and # * that both that copyright notice and this permission notice appear # * in supporting documentation. # * It is provided "as is" without express or implied warranty. # * # @load "pdf" # ---- # function # ---- function draw_image(pdf, page, filename, x, y, text) { FILE_SEPARATOR = "/"; filename1 = "./png" FILE_SEPARATOR filename; image = HPDF_LoadPngImageFromFile(pdf, filename1); #image = HPDF_LoadJpegImageFromFile(pdf, filename1); width = HPDF_Image_GetWidth(image); height = HPDF_Image_GetHeight(image); # Draw image to the canvas. HPDF_Page_DrawImage(page, image, x, y, width, height); # Print the text. HPDF_Page_BeginText(page); HPDF_Page_SetTextLeading(page, 16); HPDF_Page_MoveTextPos(page, x, y); HPDF_Page_ShowTextNextLine(page, filename); HPDF_Page_ShowTextNextLine(page, text); HPDF_Page_EndText(page); } # ---- # main # ---- BEGIN { fname = "pdf_png.pdf"; pdf = HPDF_New(NULL, NULL); HPDF_SetCompressionMode(pdf, HPDF_COMP_ALL); # create default-font font = HPDF_GetFont(pdf, "Helvetica", NULL); # add a new page object. page = HPDF_AddPage(pdf); page_height = 650; HPDF_Page_SetWidth(page, 550); HPDF_Page_SetHeight(page, page_height); dst = HPDF_Page_CreateDestination(page); HPDF_Destination_SetXYZ(dst, 0, page_height, 1); HPDF_SetOpenAction(pdf, dst); HPDF_Page_BeginText(page); HPDF_Page_SetFontAndSize(page, font, 20); HPDF_Page_MoveTextPos(page, 220, page_height - 70); HPDF_Page_ShowText(page, "PngDemo"); HPDF_Page_EndText(page); HPDF_Page_SetFontAndSize(page, font, 12); draw_image(pdf, page, "basn0g01.png", 100, page_height - 150, "1bit grayscale."); draw_image(pdf, page, "basn0g02.png", 200, page_height - 150, "2bit grayscale."); draw_image(pdf, page, "basn0g04.png", 300, page_height - 150, "4bit grayscale."); draw_image(pdf, page, "basn0g08.png", 400, page_height - 150, "8bit grayscale."); draw_image(pdf, page, "basn2c08.png", 100, page_height - 250, "8bit color."); draw_image(pdf, page, "basn2c16.png", 200, page_height - 250, "16bit color."); draw_image(pdf, page, "basn3p01.png", 100, page_height - 350, "1bit pallet."); draw_image(pdf, page, "basn3p02.png", 200, page_height - 350, "2bit pallet."); draw_image(pdf, page, "basn3p04.png", 300, page_height - 350, "4bit pallet."); draw_image(pdf, page, "basn3p08.png", 400, page_height - 350, "8bit pallet."); draw_image(pdf, page, "basn4a08.png", 100, page_height - 450, "8bit alpha."); draw_image(pdf, page, "basn4a16.png", 200, page_height - 450, "16bit alpha."); draw_image(pdf, page, "basn6a08.png", 100, page_height - 550, "8bit alpha."); draw_image(pdf, page, "basn6a16.png", 200, page_height - 550, "16bit alpha."); # save the document to a file HPDF_SaveToFile(pdf, fname); # clean up HPDF_Free(pdf); }