libreau3 Posted September 14, 2014 Share Posted September 14, 2014 Hello all I am trying to create img2pdf program using The >MPDF UDF. The base of my code is dirived from the img2pdf example. I can make the image itself the a custom size but not the page itself. Any ideas? expandcollapse popup#include "..\MPDF_UDF.au3" _SelectImages() Func _SelectImages() Local $var = FileOpenDialog("Select images", @ScriptDir & "\", "Images (*.jpg;*.bmp;*gif;*png;*tif;*ico)", 4) If @error Then MsgBox(4096, "", "No File(s) chosen") Else Local $aImgs = StringSplit($var, "|", 3) Dim $cHeight[1] $cHeight[0] = 0 Dim $cWidth[1] $cWidth[0] = 0 _GDIPlus_Startup() For $i = 1 To UBound($aImgs) - 1 $oGdi = _GDIPlus_ImageLoadFromFile($aImgs[0] & "\" & $aImgs[$i]) If @error Then MsgBox(0, "Error", @error) Exit EndIf _ArrayAdd($cWidth, _GDIPlus_ImageGetWidth($oGdi)) _ArrayAdd($cHeight, _GDIPlus_ImageGetHeight($oGdi)) Next _GDIPlus_Shutdown() _OpenAfter(True);open after generation _SetUnit($PDF_UNIT_PT) _SetZoomMode($PDF_ZOOM_CUSTOM, 90) _SetLayoutMode($PDF_LAYOUT_CONTINOUS) ;initialize the pdf _InitPDF(@ScriptDir & "\Image2PDF.pdf") If UBound($aImgs) <> 1 Then ;=== load resources used in pdf === For $i = 1 To UBound($aImgs) - 1 _LoadResImage("img" & $i, $aImgs[0] & "\" & $aImgs[$i]) Next ;load each image on it's own page For $i = 1 To UBound($aImgs) - 1 _SetPaperSize("CUSTOM",$cWidth[$i],$cHeight[$i]) _BeginPage() _InsertImage("img" & $i, 0, 0,$cWidth[$i], $cHeight[$i]) _EndPage() Next Else _LoadResImage("taietel", $aImgs[0]) _BeginPage() ;scale image to paper size! _InsertImage("taietel", 0, 0, _GetPageWidth() / _GetUnit(), _GetPageHeight() / _GetUnit()) _EndPage() EndIf ;then, finally, write the buffer to disk _ClosePDFFile() EndIf EndFunc ;==>_SelectImages ps I have included the my source the udf and the images I am using to test it. Img2Pdf.zip Jos 1 Link to comment Share on other sites More sharing options...
lorenkinzel Posted September 15, 2014 Share Posted September 15, 2014 (edited) image2pdf.zip Take a peek at my meager cobblings with the same script (apoligies to taietel). I can get any papersize I need. Edit: I inculded mppdf.au3 because I added papersizes to it. Marked with ;>>>>>>>>>>>>>>>>>>> Edited September 15, 2014 by lorenkinzel Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now