Skip to content

Commit 4057043

Browse files
authored
Add files via upload
1 parent 31c0dc7 commit 4057043

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

Scripts/Convert-Image-To-PDF.ps1

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
Add-Type -AssemblyName System.Drawing
2+
Add-Type -AssemblyName System.Windows.Forms
3+
4+
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
5+
$OpenFileDialog.Filter = "Images (*.jpg)|*.jpg"
6+
$OpenFileDialog.Multiselect = $false
7+
8+
if ($OpenFileDialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) {
9+
$imgPath = $OpenFileDialog.FileName
10+
Write-Host "File selected: $imgPath" -ForegroundColor Green
11+
Write-Host " "
12+
} else {
13+
Write-Host "No file selected." -ForegroundColor Yellow
14+
Write-Host " "
15+
return
16+
}
17+
18+
$doc = New-Object System.Drawing.Printing.PrintDocument
19+
$doc.PrinterSettings = New-Object System.Drawing.Printing.PrinterSettings
20+
$doc.PrinterSettings.PrinterName = "Microsoft Print to PDF"
21+
$doc.PrinterSettings.PrintToFile = $true
22+
$outFile = [System.IO.Path]::ChangeExtension($imgPath, ".pdf")
23+
$doc.PrinterSettings.PrintFileName = $outFile
24+
25+
$script:_pageIndex = 0
26+
$doc.add_PrintPage({
27+
param($sender, [System.Drawing.Printing.PrintPageEventArgs] $e)
28+
$image = [System.Drawing.Image]::FromFile($imgPath)
29+
try {
30+
$e.Graphics.DrawImage($image, $e.PageBounds)
31+
$e.HasMorePages = $false
32+
} finally {
33+
$image.Dispose()
34+
}
35+
})
36+
37+
$doc.PrintController = New-Object System.Drawing.Printing.StandardPrintController
38+
39+
$doc.Print()
40+
Write-Host "File printed to $outFile" -ForegroundColor Green

0 commit comments

Comments
 (0)