Inkscape 명령줄 내보내기: 페이지, 그림 또는 객체
Inkscape 명령줄 PNG 내보내기에 페이지, 그림 또는 객체 경계를 선택하세요. 실제 출력을 비교하고 두 크기를 만들며 SVG 원본을 그대로 보관합니다.
Inkscape 명령줄 PNG 내보내기에서는 영역부터 선택하세요. --export-area-page는 페이지 프레임을 유지하고, --export-area-drawing은 그림에 맞추며, --export-id는 객체 경계를 지정합니다. 해당 객체만 표시하려면 --export-id-only를 추가하세요. Inkscape 명령줄 가이드는 객체 기준 자르기와 다른 객체 숨기기를 구분합니다.
그런 다음 출력 너비, 투명도와 파일명을 명시하세요. 작은 전달용 일괄 작업을 확인하고 반복하기 쉬워집니다.
테스트 내보내기에서 바뀐 것
이름이 지정된 두 객체, 즉 녹색 배지와 그 오른쪽 가장자리에 겹친 산호색 표본으로 600 × 360 SVG를 만들었습니다. 페이지에 넉넉한 여백이 있습니다. 합친 그림 경계는 400 × 180단위이고 배지만은 180 × 180입니다.
공식 Inkscape 1.4.4 macOS arm64 앱의 명령줄 실행 파일로 원본을 내보냈습니다. 아래 네 내보내기는 모두 너비 600픽셀과 투명 배경을 요청합니다.
| 내보내기 선택 | 이 테스트의 출력 | 보이는 내용 |
|---|---|---|
| 페이지 영역 | 600 × 360 PNG | 페이지 여백과 두 객체 |
| 그림 영역 | 600 × 270 PNG | 더 꼭 맞게 자른 두 객체 |
| 배지 ID | 600 × 600 PNG | 배지와 겹친 표본 일부 |
배지 ID에 --export-id-only 추가 | 600 × 600 PNG | 배지만 표시 |

분리한 객체는 더 좁은 경계에 대해 여전히 너비 600픽셀을 요청하므로 PNG 안에서 훨씬 큽니다. 내보내기 영역이 바뀌면 출력 너비가 같아도 그림 배율이 같다는 뜻은 아닙니다.
예제는 일반 도형의 단일 페이지 SVG를 사용합니다. 여러 페이지 선택, 필터나 링크 이미지를 테스트하지 않습니다.
고정 객체 ID가 있는 원본 만들기
다음을 master.svg로 저장하세요. 그룹 ID badge로 원과 경로를 함께 내보낼 수 있습니다. 두 번째 객체 swatch는 의도적으로 배지 경계를 가로지릅니다.
<svg xmlns="http://www.w3.org/2000/svg"
width="600" height="360" viewBox="0 0 600 360">
<g id="badge">
<circle cx="150" cy="160" r="90" fill="#236f62"/>
<path d="M150 89L190 160L150 231L110 160Z" fill="#cde0a4"/>
<path d="M150 115L175 160L150 205L125 160Z" fill="#236f62"/>
</g>
<rect id="swatch" x="200" y="140" width="260" height="80"
rx="12" fill="#d68462"/>
</svg>기존 디자인은 내보내기 스크립트 작성 전에 SVG ID를 확인하세요. 편집기에 표시되는 객체 이름은 명령이 쓰는 XML id와 다를 수 있습니다. SVG 편집 가이드는 백업을 유지하면서 마크업을 확인·변경하는 방법을 설명합니다.
페이지, 그림과 분리한 배지 내보내기
아래 명령은 Bash 또는 Zsh 문법입니다. master.svg가 있는 폴더에서 실행하세요. 먼저 셸 변수로 Inkscape 실행 파일을 지정하세요.
inkscape_bin=inkscape
mkdir -p exports이 설정은 PATH에 inkscape가 있다고 가정합니다. 일반 macOS 앱 설치에서는 대신 /Applications/Inkscape.app/Contents/MacOS/inkscape를 사용할 수 있습니다. 위치에 공백이 있으면 지정할 때 경로를 따옴표로 감싸세요.
전체 페이지:
"$inkscape_bin" --batch-process master.svg \
--export-type=png --export-area-page \
--export-width=600 --export-background-opacity=0 \
--export-filename=exports/page.png그림 주위를 자르기:
"$inkscape_bin" --batch-process master.svg \
--export-type=png --export-area-drawing \
--export-width=600 --export-background-opacity=0 \
--export-filename=exports/drawing.png배지만 표시:
"$inkscape_bin" --batch-process master.svg \
--export-type=png --export-id=badge --export-id-only \
--export-width=600 --export-background-opacity=0 \
--export-filename=exports/badge.png그림의 겹침 대조를 재현하려면 마지막 명령에서 --export-id-only를 제거하고 출력 이름을 바꾸세요. 그러면 배지 자르기 안에 산호색 표본이 표시됩니다. ID로 자르기 영역을 선택하는 것만으로 그림이 분리되지는 않습니다.
Inkscape 매뉴얼은 이 플래그를 설명합니다. --export-width는 비트맵 너비를 픽셀로 설정하고 DPI 설정보다 우선합니다. 내보내기 비율이 대응 높이를 결정합니다. 명령마다 영역 하나를 선택하고 .png 출력 경로를 명시합니다.
테스트 명령에 --batch-process를 포함했습니다. 이 macOS 실행에서는 이를 빼면 PNG를 작성하고도 프로세스가 계속 실행됐지만 위 명령은 정상 완료됐습니다. 이 플래그는 여러 크기를 요청하는 셸 반복문과 별개입니다.
원본 변경 없이 두 크기 만들기
페이지 프레임 PNG 두 개는 같은 범위 설정을 반복하고 너비와 출력 이름만 바꾸세요.
for export_width in 240 480; do
"$inkscape_bin" --batch-process master.svg \
--export-type=png --export-area-page \
--export-background-opacity=0 \
--export-width="$export_width" \
--export-filename="exports/page-${export_width}.png" || exit 1
done실행 결과는 240 × 144와 480 × 288 PNG였습니다. 둘 다 같은 페이지 프레임과 투명 배경을 유지했습니다. 내보내기 전후 master.svg의 SHA-256 해시가 같았으므로 이 테스트에서 원본 바이트는 바뀌지 않았습니다.
더 큰 작업으로 확장할 때는 원본, 영역과 크기를 식별하는 출력 이름을 쓰세요. 이후 선택을 재현하도록 소스 파일 옆 스크립트에 명령을 보관하세요. 큰 그림 폴더 전체에 실행하기 전에 첫 출력을 확인하세요.
전달 전에 파일 확인하기
크기와 보이는 콘텐츠를 모두 검사하세요. 명령이 성공해도 잘못된 자르기, 원하지 않는 겹침이나 과도한 여백을 내보낼 수 있습니다.
- 큰 빈 여백: 페이지·그림 내보내기를 비교하고 대상이 예상하는 프레임을 선택하세요.
- ID 자르기에 다른 객체 표시:
--export-id-only가 필요한지 확인하세요. - 뷰어에서 투명도가 흰색처럼 보임: 대비되는 배경에서 PNG를 여세요. 원본의 흰 배경 객체는 그림이므로 내보내기 배경이 투명해도 남습니다.
- 출력 간 그림이 더 커 보임: 픽셀 너비와 내보내기 영역을 함께 비교하세요.
Inkscape PNG 내보내기 가이드는 이 선택의 페이지, 그림, 선택 영역과 배경 개념을 설명합니다. PNG는 래스터 전달 파일이므로 편집용 SVG를 보관하세요. 실제 원본 내용을 확인하려면 SVG 파일 가이드를 참고하세요.
다른 자동화 방식을 비교한다면 Sharp SVG-to-PNG 가이드가 해당 라이브러리의 렌더러와 크기 작업 흐름을 다룹니다. API 옵션을 Inkscape에 직접 적용할 수는 없습니다.
원본 그림이 PNG나 JPG로만 있다면 PerfectVector 이미지 벡터화 도구가 이 내보내기 전에 편집 가능한 벡터 그림을 준비할 수 있습니다. 편집기에서 복원 경로를 확인하고 페이지 프레임과 객체 ID를 선택하세요. Inkscape의 Trace Bitmap 작업 흐름도 준비 방식입니다. 필요한 경로가 이미 있는 SVG는 바로 내보내세요.
FAQ
페이지와 그림 내보내기의 크기가 다른 이유는 무엇인가요? 경계의 가로세로 비율이 다를 수 있습니다. 테스트는 둘 다 너비 600픽셀을 요청했지만 600 × 360 페이지가 400 × 180 그림 경계보다 높은 PNG를 만들었습니다.
export-id에 다른 객체도 포함되는 이유는 무엇인가요? 대상 객체의 내보내기 경계를 선택합니다. 그 경계를 가로지르는 다른 그림은 남을 수 있습니다. 다른 객체를 숨기려면 export-id-only를 추가하세요.
이 PNG 일괄 작업이 SVG 원본을 덮어쓰나요? 표시한 명령은 master.svg를 읽고 별도 이름의 PNG를 씁니다. 테스트 뒤 원본 해시는 그대로였습니다. 원본과 전달 파일을 따로 보관하고 스크립트에 추가하기 전에 추가 편집·저장 작업을 확인하세요.
Sources
- Inkscape Wiki — 명령줄 사용 — 내보내기 작업과 객체 자르기·분리 객체 출력의 차이를 설명합니다.
- Inkscape — 명령줄 매뉴얼 — 영역, 객체, 크기, 배경과 출력 옵션을 설명합니다.
- Inkscape 초보자 가이드 — PNG 파일 내보내기 — 내보내기 영역과 투명도 개념을 설명합니다.
그림에 아직 벡터 경로가 필요하다면 이미지를 벡터화하고 결과부터 확인하세요. SVG 원본을 저장하고 내보내기 범위 하나를 선택한 뒤 반복 작업 전에 첫 PNG의 자르기와 크기를 검증하세요.

