JPG PDF 변환 방법 — 윈도우에서 설치 없이 사진 여러 장을 PDF 하나로 (가장자리 잘림·세로 사진 눕힘 막기)
서류 제출이나 과제로 사진 여러 장을 PDF 하나로 보내야 할 때, 윈도우에는 이미 'Microsoft Print to PDF' 가 있습니다. 그런데 사진 인쇄 창을 기본값 그대로 쓰면 휴대폰 사진의 위아래가 잘리고 세로 사진은 옆으로 눕습니다. 휴대폰 크기 사진 3장(가로 2·세로 1)으로 세 가지 방법을 시험해 결과 PDF 의 쪽 방향·잘림·크기를 원본과 비교했습니다.

사진으로 만든 PDF 가 업로드 제한보다 클 때 브라우저 안에서 줄입니다. 파일을 서버로 보내지 않고, 정해 둔 크기에 맞추거나 여러 개로 나눌 수 있습니다.
- ✓ 무료
- ✓ 설치·회원가입 없음
- ✓ 브라우저에서 바로 실행
- ✓ 파일이 서버로 올라가지 않음
- ✓ 소스 공개
🔒 파일을 서버나 다른 어떤 곳으로도 보내지 않습니다 — 내 컴퓨터의 브라우저 안에서만 처리합니다.
세 가지 방법과 시험 조건
검색하면 변환 사이트가 먼저 나오지만, 사진을 남의 서버에 올리지 않고도 PC 안에서 PDF 를 만들 수 있습니다. 이 글은 세 가지를 같은 사진으로 비교했습니다 — 윈도우 기본 '인쇄', 붙여 넣기만 하면 되는 PowerShell 스크립트, 파이썬 Pillow.
시험 사진은 윈도우 배경화면으로 만든 휴대폰 크기 JPG 3장입니다: 가로 4032×3024 두 장, 세로 3024×4032 한 장, 합계 4,192,795바이트. 휴대폰이 세로 사진을 눕혀 저장하고 EXIF 회전 정보(Orientation 6)를 붙이는 경우도 한 장 따로 만들었습니다. 결과 PDF 는 쪽 크기, 들어간 사진의 픽셀, 원본과의 픽셀 차이로 확인했습니다(윈도우 11, 2026-10-21).
방법 1: 인쇄 → Microsoft Print to PDF (설치 없음)
- 1파일 탐색기에서 사진들을 선택합니다(Ctrl 을 누른 채 클릭).
- 2마우스 오른쪽 → 인쇄 를 누릅니다. 메뉴에 없으면 '추가 옵션 표시' 안에 있습니다.
- 3'사진 인쇄' 창 왼쪽 위 프린터 를 Microsoft Print to PDF 로 바꿉니다.
- 4용지 A4, 레이아웃 '전체 페이지 사진'(한 쪽에 한 장)을 확인하고, 그림을 프레임에 맞춤 을 켤지 정합니다(아래).
- 5인쇄 → '다음 이름으로 프린터 출력 저장' 창에서 위치와 이름을 정하고 저장.
시험에서 사진 3장이 3쪽 PDF(3,602,432바이트)로 저장되는 데 10초쯤 걸렸고, 쪽 순서는 파일 이름 순서였습니다. 창의 기본값은 용지 A4, 품질 600dpi, 레이아웃 '전체 페이지 사진', 그림을 프레임에 맞춤 켜짐 이었습니다.
사진 인쇄 창은 PC 의 기본 프린터 로 열립니다. 이 PC 는 실제 레이저 프린터가 기본이라 프린터를 바꾸지 않고 인쇄를 누르면 종이로 나갑니다. 한 번 PDF 프린터로 바꾼 뒤에는 다음에 열 때 PDF 프린터가 골라져 있었습니다.
기본값이 사진에 하는 일 두 가지
- 가장자리가 잘린다. 그림을 프레임에 맞춤은 쪽을 빈틈없이 채우려고 사진을 자릅니다. 4:3 사진을 A4(약 1.41:1)에 채우니 가운데를 남기고 위아래 합쳐 약 6% 가 사라졌습니다 — 원본과 비교한 픽셀 차이가 가운데 자르기 1.04, 늘리기 10.81 이라 자른 것이 맞습니다. 끄면 사진 전체(280×210mm)에 좌우 8.5mm 여백.
- 세로 사진이 눕는다. 결과 PDF 의 쪽은 모두 A4 가로(297×210mm)였고, 세로 사진은 반시계 방향으로 90도 돌려 넣었습니다. 세로 사진 한 장만 넣어도, 맨 앞에 두어도 같았고, PDF 프린터의 기본 인쇄 설정은 'A4 · 세로' 였습니다.
- '13 x 18cm.(2)' 레이아웃은 한 쪽에 세로 칸 두 개(130×180mm)라 세로 사진은 똑바로 들어가지만, 이번엔 가로 사진이 90도 눕습니다. 섞여 있으면 어느 한쪽은 눕습니다.
방법 2: PowerShell 스크립트 — 방향을 사진마다 맞추고 원본 그대로
윈도우 PowerShell 5.1 과 윈도우에 들어 있는 .NET 인쇄 기능만 씁니다. 같은 Microsoft Print to PDF 로 저장하지만, 쪽 방향을 사진마다 정하고, 사진을 자르지 않고 여백 안에 맞추며, 휴대폰의 EXIF 회전 정보도 반영합니다. 프린터를 이름으로 지정하므로 종이 프린터로 갈 일이 없습니다.
Add-Type -AssemblyName System.Drawing
$folder = "C:\Users\내이름\Pictures\PDF로" # PDF 로 만들 사진이 든 폴더(전체 경로)
$out = "C:\Users\내이름\Pictures\사진모음.pdf" # 만들 PDF(전체 경로)
$files = @(Get-ChildItem "$folder\*" -Include *.jpg, *.jpeg, *.png | Sort-Object Name | ForEach-Object { $_.FullName })
function Load-Photo($path) { # 휴대폰 사진의 EXIF 회전 정보대로 돌린다
$img = [System.Drawing.Image]::FromFile($path)
if ($img.PropertyIdList -contains 0x0112) {
switch ([int]$img.GetPropertyItem(0x0112).Value[0]) {
3 { $img.RotateFlip("Rotate180FlipNone") }
6 { $img.RotateFlip("Rotate90FlipNone") }
8 { $img.RotateFlip("Rotate270FlipNone") }
}
}
$img
}
$pd = New-Object System.Drawing.Printing.PrintDocument
$pd.PrinterSettings.PrinterName = "Microsoft Print to PDF" # 종이 프린터로 가지 않게 PDF 프린터를 직접 지정
$pd.PrinterSettings.PrintToFile = $true
$pd.PrinterSettings.PrintFileName = $out
$pd.DefaultPageSettings.PaperSize = $pd.PrinterSettings.PaperSizes | Where-Object { $_.Kind -eq "A4" } | Select-Object -First 1
$pd.DefaultPageSettings.Margins = New-Object System.Drawing.Printing.Margins 40, 40, 40, 40 # 여백 약 1cm
$i = 0
$pd.add_QueryPageSettings({ # 사진이 가로면 쪽도 가로, 세로면 세로
$img = Load-Photo $files[$script:i]
$_.PageSettings.Landscape = ($img.Width -gt $img.Height)
$img.Dispose()
})
$pd.add_PrintPage({ # 자르지 않고 여백 안에 맞춰 가운데
$img = Load-Photo $files[$script:i]
$m = $_.MarginBounds
$k = [Math]::Min($m.Width / $img.Width, $m.Height / $img.Height)
$w = $img.Width * $k; $h = $img.Height * $k
$_.Graphics.DrawImage($img, [single]($m.X + ($m.Width - $w) / 2), [single]($m.Y + ($m.Height - $h) / 2), [single]$w, [single]$h)
$img.Dispose()
$script:i++
$_.HasMorePages = ($script:i -lt $files.Count)
})
if (-not $pd.PrinterSettings.IsValid) { "Microsoft Print to PDF 가 없습니다" } else { $pd.Print(); "저장: $out" }- 1PDF 로 만들 사진을 한 폴더에 모읍니다. 쪽 순서는 파일 이름 순서입니다(01_, 02_ … 처럼 앞에 번호를 붙이면 편함).
- 2시작 메뉴에서 Windows PowerShell 을 엽니다(관리자 권한 필요 없음).
- 3$folder 와 $out 경로를 바꾸고 통째로 붙여 넣은 뒤 Enter. '저장:' 이 나오면 끝입니다.
결과: 사진 3장이 쪽 방향 가로 · 세로 · 가로 인 A4 PDF 가 되었고, 3.3초 걸렸습니다. 크기는 4,195,302바이트로 원본 합계(4,192,795)와 거의 같습니다 — 들어간 사진이 4032×3024 그대로라 원본 JPG 를 다시 압축하지 않고 넣은 것으로 보입니다. EXIF 회전 사진도 세로로 똑바로 섰고, 투명 PNG 는 흰 바탕 위에 들어갔습니다(5장 시험 4,785,132바이트).
이 코드를 .ps1 파일로 저장해 실행할 때는 UTF-8(BOM) 으로 저장하세요. 윈도우 PowerShell 5.1 은 BOM 없는 .ps1 의 한글 주석·경로를 깨뜨립니다(이 PC 실측). 창에 붙여 넣어 실행하면 상관없습니다.
방법 3: 파이썬 Pillow
파이썬이 있으면 Pillow(pip install pillow)로 몇 줄이면 됩니다. Pillow 13.0.0 으로 시험했습니다.
from glob import glob
from PIL import Image, ImageOps # pip install pillow
files = sorted(glob("*.jpg"))
pages = [ImageOps.exif_transpose(Image.open(f)).convert("RGB") for f in files] # EXIF 회전 반영
pages[0].save("사진모음.pdf", save_all=True, append_images=pages[1:],
resolution=300, quality=90) # resolution 이 없으면 쪽이 1.4m 가 된다- resolution 을 빼면 쪽이 거대해진다. 기본은 사진 픽셀을 72dpi 로 쳐서 4032×3024 사진이 1,422×1,067mm 쪽이 됐습니다. resolution=300 이면 341×256mm.
- JPG 를 다시 압축한다. 기본값으로 저장하니 3장이 2,226,298바이트로 줄었는데, 첫 사진의 JPG 데이터가 914,849 → 491,398바이트로 바뀌어 있었습니다(화질 손실). quality=95 로 주면 5,307,739바이트로 오히려 원본보다 커졌습니다.
- EXIF 회전을 무시한다. ImageOps.exif_transpose 없이 저장하면 Orientation 6 사진이 옆으로 누운 가로 쪽이 됐습니다.
- 투명 PNG 도 오류 없이 저장됐고, 투명했던 곳은 PDF 에서 흰색으로 보였습니다.
결과 비교
| 방법 | 설치 | 쪽 방향 | 가장자리 | 사진 화질 | 3장 PDF 크기 |
|---|---|---|---|---|---|
| 인쇄 → PDF 프린터(기본값) | 없음 | 모두 A4 가로(세로 사진 눕힘) | 위아래 약 6% 잘림 | 띠로 나눠 다시 압축 | 3,602,432바이트 |
| 인쇄 → 프레임에 맞춤 끔 | 없음 | 모두 A4 가로 | 전체 · 좌우 여백 | 띠로 나눠 다시 압축 | 3,589,184바이트 |
| PowerShell 스크립트(이 글) | 없음 | 사진마다 가로/세로 | 전체 · 여백 1cm | 원본 JPG 그대로 | 4,195,302바이트 |
| 파이썬 Pillow(기본값) | 파이썬 + Pillow | 사진 비율대로(쪽 1.4m) | 전체 | 다시 압축 | 2,226,298바이트 |
보내기 전 용량이 문제라면, 원본 그대로 넣은 PDF 를 PDF 용량 줄이기 도구로 원하는 크기에 맞추는 편이 처음부터 화질을 낮추는 것보다 조절하기 쉽습니다.
결과가 이상할 때 확인 순서
- 1종이가 나왔다 — 사진 인쇄 창의 프린터가 기본 프린터였습니다. Microsoft Print to PDF 로 바꾸세요.
- 2글자나 가장자리가 잘렸다 — 그림을 프레임에 맞춤을 끄고 다시 저장합니다.
- 3세로 사진이 누웠다 — 인쇄 창은 쪽 방향을 사진마다 바꾸지 않습니다. PowerShell 스크립트를 쓰거나, 세로 사진만 모아 '13 x 18cm' 로 따로 만듭니다.
- 4파일이 너무 크다 — 휴대폰 사진은 3장에 3.6~4.2MB 였습니다. PDF 용량 줄이기로 제한에 맞춥니다.
자주 묻는 질문
Q. PNG 도 PDF 로 바꿀 수 있나요?
네. 이 글의 PowerShell 스크립트는 PNG 도 넣도록 되어 있고, 투명 PNG 는 흰 바탕 위에 들어갔습니다. Pillow 도 투명 PNG 를 오류 없이 저장했고 투명한 곳은 흰색으로 보였습니다.
Q. 쪽 순서를 바꾸고 싶어요.
스크립트와 이 글의 시험에서는 파일 이름 순서였습니다. 파일 이름 앞에 01_, 02_ 처럼 번호를 붙여 순서를 정하세요.
Q. 사진 화질이 떨어지나요?
PowerShell 스크립트 결과에는 원본과 같은 4032×3024 사진이 원본과 거의 같은 크기로 들어갔습니다. 인쇄 창은 가로 픽셀은 그대로 두고 띠 7개로 나눠 다시 압축했고, Pillow 는 기본값에서 JPG 를 다시 압축해 데이터가 절반쯤으로 줄었습니다.
Q. Microsoft Print to PDF 가 프린터 목록에 없어요.
이 PC 에는 기본으로 있었고, 목록에 없는 경우는 시험하지 않았습니다. 스크립트는 그때 'Microsoft Print to PDF 가 없습니다' 라고만 알리고 끝납니다.
Q. 휴대폰에서 바로 할 수는 없나요?
아이폰·갤럭시 기본 앱의 방법은 애플·삼성 공식 안내에서 절차를 찾지 못해 이 글에서는 다루지 않았습니다.
사진으로 만든 PDF 가 업로드 제한보다 클 때 브라우저 안에서 줄입니다. 파일을 서버로 보내지 않고, 정해 둔 크기에 맞추거나 여러 개로 나눌 수 있습니다.
- ✓ 무료
- ✓ 설치·회원가입 없음
- ✓ 브라우저에서 바로 실행
- ✓ 파일이 서버로 올라가지 않음
- ✓ 소스 공개
🔒 파일을 서버나 다른 어떤 곳으로도 보내지 않습니다 — 내 컴퓨터의 브라우저 안에서만 처리합니다.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨 주세요.
댓글은 회원만 쓸 수 있습니다.
광고·욕설·비방·개인정보·불법 내용이 담긴 댓글은 숨기거나 지웁니다. 댓글은 닉네임과 함께 공개됩니다. 개인정보처리방침