Post

파이썬으로 파일 여러개 한 번에 인쇄하는 방법

회사에서 PDF 파일을 백 개쯤 인쇄할 일이 생겼다. 파일 하나씩 일일이 열어서 인쇄 버튼을 누르기 귀찮으니 한 번에 일괄로 인쇄를 눌러 놓고 싶었다. 그런데 기대처럼 안 되더라. 그래서 결론부터 얘기하자면 파이썬으로 해결했다.

아무튼 이번에 일하면서 파일 여러 개를 한번에 인쇄하게 된 과정, 이 안에서 나의 삽질, 그리고 결국 파이썬으로 작성한 코드 예제를 간단히 남겨본다.

윈도우에서 파일 15개까지는 한 번에 인쇄 가능

세부 설정 없이 그냥 기본값으로 파일 하나만 빠르게 인쇄하려면, 윈도우에서 파일 선택 우클릭 후 ‘인쇄’ 버튼만 눌러주면 끝이다.

그래서 파일 여러 개를 선택하더라도 이렇게 우클릭 후 인쇄를 누르면 될 거라고 기대했다. 일단 파일이 몇 개 안 될 때는 잘 되더라.

그런데 개수가 15개를 넘어가면 이렇게 인쇄 버튼이 사라지는 진귀한 현상이 나타난다. 구글링을 좀 해보니 애초에 윈도우에서는 파일 개수 15개 이하로만 일괄 인쇄가 가능하도록 되어 있었다.

PDF 파일만 그런 게 아니다. 워드, 엑셀, 파워포인트 ppt 같은 MS 오피스 문서의 경우에도 파일 여러개를 한번에 인쇄하려고 할 때도 동일한 현상이 나타난다.

그렇다면 어떻게 해결해야 할까?

파이썬으로 파일 인쇄하기

파이썬에서 파일 하나를 인쇄(print)하는 코드는 아래와 같다.

1
2
3
import os

os.startfile("파일이름", "print")

os 모듈을 불러온 뒤, startfile이라고 해서 안에 파일명과 함께 시작할 작업(인쇄: "print")를 적어주면 끝이다.

이제 반복문을 활용해 특정 폴더 안에 있는 파일들을 모두 인쇄해보자.

1
2
3
4
5
6
7
8
import os

folder_name = "인쇄할 폴더 절대경로"

file_list = os.listdir(folder_name)

for file_name in file_list:
    os.startfile(folder_name + "\\"+ file_name, "print")

os.listdir은 해당 위치에 있는 파일들의 이름을 리스트의 형태로 돌려준다. 이후 반복문을 적용해 os.startfile로 "print" 시키는 거다.

이 방법은 pdf 뿐만 아니라 다른 확장자에도 당연히 적용된다. 애초에 os(운영체제)를 건드리는 방식이기 때문에 그냥 윈도우에서 우클릭해서 나타나는 인쇄 버튼 누르는 걸 코드로 돌리는 거라 생각하면 된다.

This post is licensed under CC BY 4.0 by the author.