Posts: 858
Threads: 196
Joined: Apr 2005
How can I
using image (file).
modify size image to 25x32 mm
arrange n images in page to print
using QM & Word or another way?
Posts: 858
Threads: 196
Joined: Apr 2005
I tried save macro in word to convert to QM
Selection.InlineShapes.AddPicture FileName:= _
"C:\test.jpg" _
, LinkToFile:=False, SaveWithDocument:=True
Selection.InlineShapes(1).Fill.Visible = msoFalse
Selection.InlineShapes(1).Fill.Solid
Selection.InlineShapes(1).Fill.Transparency = 0#
Selection.InlineShapes(1).Line.Weight = 0.75
Selection.InlineShapes(1).Line.Transparency = 0#
Selection.InlineShapes(1).Line.Visible = msoFalse
Selection.InlineShapes(1).LockAspectRatio = msoTrue
Selection.InlineShapes(1).Height = 70.85
Selection.InlineShapes(1).Width = 50.15
Selection.InlineShapes(1).PictureFormat.Brightness = 0.5
Selection.InlineShapes(1).PictureFormat.Contrast = 0.5
Selection.InlineShapes(1).PictureFormat.ColorType = msoPictureAutomatic
Selection.InlineShapes(1).PictureFormat.CropLeft = 0#
Selection.InlineShapes(1).PictureFormat.CropRight = 0#
Selection.InlineShapes(1).PictureFormat.CropTop = 0#
Selection.InlineShapes(1).PictureFormat.CropBottom = 0#
but I don't know how set Height in mm, position of image...
Posts: 858
Threads: 196
Joined: Apr 2005
with tables...
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
8, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
Selection.MoveRight Unit:=wdCell
Selection.Paste
End Sub
Posts: 1,000
Threads: 253
Joined: Feb 2008
IrfanView is an image editor that uses command line programming that is easily automated through QM "run" command.
http://www.irfanview.com/
First you'll need to consider what dpi you'll use to print and then calculate the dimensions of the picture accordingly.
To set the dpi of an image using IrfanView:
i_view32.exe c:\passport.jpg /dpi=(x,y)
Size the picture using IrfanView:
i_view32.exe c:\passport.jpg /resize=(x,y) /aspectratio
To merge files using IrfanView:
Syntax: /panorama=(X,file1,...,fileN) First parameter (X) is the direction: 1 = horizontal, 2 = vertical.
i_view32.exe /panorama=(1,c:\c:\passport.jpg,c:\passport.jpg,c:\passport.jpg,c:\passport.jpg)
i_view32.exe /panorama=(2,c:\c:\passport.jpg,c:\passport.jpg,c:\passport.jpg,c:\passport.jpg)
This will print to your default printer. There is a way to specify printer as well:
i_view32.exe c:\passport.jpg /print
To specify an output file:
/convert "passport2.jpg"
Posts: 1,000
Threads: 253
Joined: Feb 2008
I'm not sure if this is exactly right, but you would need to take this stuff into consideration to figure out how to size the image for print resolution:
Function Function108
str image="c:\passport.jpg"
str image2="c:\passport2.jpg"
double xmm ymm inches dpi
int xpixels ypixels
xmm=25
ymm=32
dpi=300
inches=xmm/25.4
xpixels=(inches*dpi)+0.5
inches=ymm/25.4
ypixels=(inches*dpi)+0.5
str Command=
F
;{image} /resize=({xpixels},{ypixels})
;/aspectratio
;/dpi=({dpi},{dpi})
;/panorama=(1,{image},{image},{image},{image})
;/convert={image2}
Command.findreplace("[]")
run "$program files$\IrfanView\i_view32.exe" Command "" "" 0x400
Command=
F
;/panorama=(2,{image2},{image2},{image2},{image2})
;/print
Command.findreplace("[]")
run "$program files$\IrfanView\i_view32.exe" Command
Have to run IrfanView twice because won't allow /panorama to be used twice in on thread.
Posts: 858
Threads: 196
Joined: Apr 2005
Thank you very much, but I was looking for something like this:
Function Photo_passport
\Dialog_Editor
function# hDlg message wParam lParam
if(hDlg) goto messages
str controls = "4 6"
str e4 e6
if(!ShowDialog("Photo_passport" &Photo_passport &controls)) ret
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 223 135 "Photo_passport"
;1 Button 0x54030001 0x4 120 116 48 14 "OK"
;2 Button 0x54030000 0x4 170 116 48 14 "Cancel"
;3 Button 0x54032000 0x0 22 18 26 14 "File"
;4 Edit 0x54030080 0x200 54 18 138 14 ""
;5 Static 0x54000000 0x0 72 50 40 12 "How many?"
;6 Edit 0x54030080 0x200 112 48 24 14 ""
;END DIALOG
;DIALOG EDITOR: "" 0x2030207 "" "" ""
ret
;messages
sel message
,case WM_INITDIALOG
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case 3
,str- pho
,if(!OpenSaveDialog(0 pho "bmp, jpg, gif[]*.bmp;*.jpg;*.gif[]")) ret
,pho.setwintext(id(4 hDlg))
,case IDOK
,typelib Word {00020905-0000-0000-C000-000000000046} 8.1
,
,int cuantas=val(_s.getwintext(id(6 hDlg)))
,
,run "winword""" "" "" 0x200
,
,Word.Application app._getactive
,Word.Document doc=app.ActiveDocument
,Word.Table table
,app.Selection.InlineShapes.AddPicture(pho)
,doc.InlineShapes.Item(1).LockAspectRatio= -1 ;;msoTrue
,doc.InlineShapes.Item(1).Height=70.84
,doc.InlineShapes.Item(1).Width=50.14
,doc.InlineShapes.Item(1).Select
,app.Selection.Cut
,
,VARIANT worddefault(Word.wdWord9ListBehavior) wordauto(Word.wdAutoFitFixed) wordcell(Word.wdCell)
,doc.Tables.Add(app.Selection.Range 1 8 &worddefault &wordauto)
,app.Selection.Paste
,int i
,rep cuantas-1
,,app.Selection.MoveRight(&wordcell)
,,app.Selection.Paste
,case IDCANCEL
ret 1
sure can be improved ...
|