윈도우 환경에서 Python으로 다수의 pdf파일을 프린트(인쇄)하는 가장 좋은 방법이 뭘까요?

   조회 3284   추천 0    

쪽팔리면 질문하지 맙시다. 소중한 답변 댓글을 삭제하는건 부끄러운 일 입니다 

직접적인 제 업무는 아니긴 한데 프린터 활용 문제로 엮여 있어서 좀 들여다 보고 있습니다.

매 달 한 번씩 수 백 개의 PDF파일을 단시간 안에 인쇄해서 발송하는 업무가 있습니다. 담당자가 수작업을 하기 벅차서 누구한테 부탁해서 엑셀 매크로를 만들어서 써오고 있었다는데.. 어도비 리더를 불러내서 인쇄하는 식으로 처리를 했고, 단시간에 처리하기 위해 프린터 석 대에 나눠서 프린트를 하는 식으로 만들어 놨더군요.

근데 뭐 약간의 로직상의 문제도 있고, 어도비 리더를 불러내는 처리가, 어도비 리더 버전이 바뀔 때마다 다시 코드를 수정해야 하는 문제도 있다고 하고.. 근데 그 매크로 만든 사람은 이미 몇 년 전에 퇴사 ㅎ

전 단지 평상시 놀고 있는 프린터 석 대가 아까와서 줄이려고 얘길하다.. 이런 사정을 듣고 엮인 거죠. ㅎ

검색도 좀 해보긴 했습니다만.. 

PyPDF2 라이브러리를 이용한 예가 몇 개 나오는데.. 이 라이브러리 최신 버전과는 맞지 않더군요.

또는 위 엑셀 매크로하고 비슷하게 아예 어도비 리더가 설치되었다는 전제하에 어도비 리더 불러내서(커맨드 라인 옵션 등) 프린트하는 방식도 있고..

단순하게는 os.startfile을 사용해서 윈도우 탐색기에서 우클릭->인쇄..를 클릭한 것과 같은 식으로 프린트를 하는 방법도 있던데.. 제 경우엔 기본 프린터가 아니라 때때로 지정 프린터를 변경하거나 여러 대의 프린터를 동시에 사용해야 할 듯 해서 이 방법은 활용하기가 좀 어려울 듯 합니다.

혹시 실제로 업무에 이용하고 계신 방법이 있다면 조언을 주시면 감사하겠습니다.

짧은글 일수록 신중하게.
이창준 2023-05
어도비 리더가 설치되어있으면 파일에서 우클릭으로 바로 프린트가 될 텐데요. 예전에 많이 사용했는데. 지금은 쓸 일이 없어 지금도 가능한지 모르겠네요. 복수의 파일도 한번에 프린트가 가능했는데. 그쪽으로 한번 알아보심이..
     
린드버그 2023-05
댓글 감사합니다.
네, 본문에도 적었지만, 우클릭-인쇄..가 가능하고 그걸 그대로 파이썬에서도 활용이 가능하죠. 문제는 단순히 윈도우에서 여러 파일 지정해서 인쇄하는 건 15개인가가 한계고, 지정프린터를 변경하거나 여러 대의 프린터에 나눠서 '순서대로' 인쇄를 해야 하는 것도 있고.. 세세하게 가면 일부 조건에 따라 인쇄 안하고 스킵해야 하는 것도 있고 해서 스크립트로 처리하는 게 효율적이라서요..
정의석 2023-05
pdf파일을 하나로 합친다음에 출력하는 방식은 어떤가요?
     
린드버그 2023-05
감사합니다. 그것도 한 예로 나와 있긴 하더군요. ㅎㅎㅎ
일단 생각은 해보고 있습니다. 파이썬으로 처리해서 필요한 파일들 필요한 순서대로 합쳐서.. 2~3 페이지짜리 PDF파일 수 백 개를 수 백 페이지짜리 PDF파일 두 세 개로 만들어서 프린터 하나당 하나씩 인쇄를 던지면 간단할 수도 있겠다는 생각도 해보긴 했습니다.
파일 자체를 손대고 싶진 않아서 좀 꺼려지긴 하는데, 뭐 애초에 원본은 그대로 두고 작업용 파일만 따로 만들고 삭제하면 될테니 다시 검토해 보겠습니다. ^^
          
무쏘뿔처럼 2023-05
+1
저도 PDF출력 또는 다른 업무 다운로드,생성된 파일 검색시 등 한번에 결합해서 처리 합니다.
               
린드버그 2023-05
댓글 감사합니다. 결합해서 처리하는 방법도 구체적으로 생각해서 얘기해 보겠습니다.
결합하는 경우 한가지 문제는 양면 프린트를 고려해야 하는 거네요.
홀수 페이지인 문서 다음에 다른 문서를 결합할 때는 빈 페이지를 하나 넣어야겠군요. 안그러면 앞 뒤에 서로 다른 문서가 인쇄될 테니까요..

애초에 요즘 세상에 여전히 인쇄해서 고객사한테 보낸다는 거 자체를 없애고 싶은 마음이지만.. ㅋㅋㅋ 전자화좀 하면 좋은데.. ㅎ
엠브리오 2023-05
리눅스에서는 GhostScript + lp 명령어를 스크립트로 짜면 한방에 끝날듯 싶은데..
윈도우에서는 잘 모르겠군요.

대충 생각나는대로 적어보면,
윈도우에서도 PowerShell 사용하여 스크립트 작성하면 해결할수 있을것 같은데요.

ChatGPT에 물어보니 다음과 같이 나오네요.

User
윈도우10에서 수백개의 PDF 파일을 한꺼번에 인쇄하는 방법을 알려줘

ChatGPT
윈도우 10에서 수백 개의 PDF 파일을 한꺼번에 인쇄하려면 다음과 같은 방법을 사용할 수 있습니다:

1.모든 PDF 파일을 하나의 폴더에 모아둡니다. 인쇄하려는 PDF 파일들이 모두 동일한 폴더에 있어야 합니다.
2. 폴더에서 모든 PDF 파일을 선택합니다. 여러 파일을 선택하려면 첫 번째 파일을 클릭한 후 Shift 키를 누르고 마지막 파일을 클릭하거나, Ctrl 키를 누른 상태에서 개별 파일을 클릭합니다.
3. 선택한 파일을 마우스 오른쪽 버튼으로 클릭하고 "인쇄" 옵션을 선택합니다.
4. "인쇄" 대화상자가 표시됩니다. 프린터의 설정을 확인하고 필요에 따라 변경합니다. 인쇄할 페이지 범위나 인쇄 옵션을 선택할 수도 있습니다.
5. "인쇄" 버튼을 클릭하여 인쇄 작업을 시작합니다.

이제 선택한 모든 PDF 파일이 인쇄될 것입니다. 인쇄 작업이 오랜 시간이 걸릴 수 있으니 인내심을 갖고 기다려주세요.

참고: 이 방법은 Windows 10의 기본 PDF 뷰어인 "Microsoft Print to PDF"를 사용하는 것입니다. 사용자가 다른 PDF 뷰어나 프린터 드라이버를 사용 중이라면 해당 프로그램의 인쇄 기능을 사용해야 할 수도 있습니다.
     
린드버그 2023-05
댓글 감사합니다. 그냥 탐색기에서 파일 수백개 선택해서 인쇄..가 갯수 제한때문에 안되는 걸로 알고 있었는데 일단 확인은 해봐야겠군요.
스크립트를 써서 스킵할 파일들을 애초에 다른 폴더에 분리를 해놓든가 하면 인쇄 자체는 이것도 한 방법이긴 하겠지만 인쇄 순서나 그런 게 원하는 대로 될지가 관건이겠네요.

로직 자체는 어려울 게 없는데, 실제 인쇄하는 걸 뭘 이용해야 할 지 궁금해서 찾아보고 있습니다. 리눅스처럼 lp명령어 같이 간단히 해결 가능하면 좋을텐데 말이죠. ㅎㅎ
박문형 2023-05
     
린드버그 2023-05
아하하, 마지막 건 마침 저도 검색하다 찾아본 거네요 본문에 적은 os.startfile 이용하는 방법요. 근데 이건 기본 프린터로 바로 나가는 거라.. 프린터 지정, 분산이 힘들 듯 해서요. 뭐 암튼 이것도 참고하겠습니다!
2CPU수원장 2023-05
그냥 파일을 인쇄 대기열에 차곡 차곡 올려 놓으면 안되나요?
or
https://www.print-conductor.com/
이 프로그램 쓰시거나요..
     
린드버그 2023-05
ㅎㅎㅎ 그러게요. 뭐 한 달에 한 번이라니, 사실 어느 정도는 수작업으로 해도 사실 불가능하진 않다고도 생각은 합니다..

그나저나 알려주신 프로그램 괜찮아 보이네요! 근데 좀 더 살펴봐야겠지만, 출력할 프린터는 결국 한 대 밖에 지정이 안되는 것 같기도 하네요. 두 대 이상의 프린터에 나눠서 동시에 출력하는 게 가능할지.. (단시간에.. 가 꽤 중요한 사항이라서요) 뭐 여차하면 두 대에서 나눠서 프린트하는 방법도 생각해볼 수 있으니, 고려해 보겠습니다.

아, 그보다.. 둘러 보다 보니 같은 데서 만든 2print라는 커맨드 라인 유틸이 있는데, 이걸 파이썬 코드와 함께 활용하면 딱 원하는 처리가 가능할 듯 합니다!!
https://www.cmd2printer.com/

ㅎㅎ 감사합니다. 이걸 한 번 추천해 봐야겠네요.
          
2CPU수원장 2023-05
ㅎㅎ 수고하세요
프로그램 2개 이상 켜시고 목적지 나눠서 쭉 땡겨보세요
제온프로 2023-05
프린트할 PDF 100개 문서를 프린터 대기창에 던저 넣으면 그 다음은 프린터 하고
윈도우가 알아서 하는데요.

2번 프린터에도 100개 문서 주시고.
3번 프린터에서 100개 문서 주시고.

1시간 뒤에 3백개 문서 다하면..

또 300개 다 주시고..
     
린드버그 2023-05
그러게요. 한 달에 한 번이면 그 정도 수작업은 해도 될 듯 한데.. 이제까지 액셀 매크로로 해온 것도 있고 해서 이제와서 그렇게 하라고 하면 담당자가 좀 불안해할 듯 합니다. ㅎㅎ 휴먼에러 확률도 높아지구요.

그래도 이 방법도 한번 시도는 해보겠습니다.
한데 몰려있는 PDF파일들 중에서 예외로 인쇄 안할 것도 추려야 하니까, 그런 파일 분류나 일정 갯수씩 두 세 개 폴더에 나누는 정도는 스크립트 써서 해두고, 정리된 폴더는 그대로 프린트큐에 몽창 던지는 식으로.. 한번 얘기를 해봐야겠네요.


QnA
제목Page 1043/5703
2015-12   1654617   백메가
2014-05   5119198   정은준1
2017-07   3230   머라카는데
2019-11   3231   이문영
2022-06   3231   장동건2014
2020-04   3231   바다늑대
2022-03   3231   wguardian
2019-10   3231   ddeell
2023-03   3231   김동자맨
2021-03   3231   전진
2019-04   3231   흥마
2023-08   3231   머재긴
2018-08   3231   진신두
2019-01   3232   김진영JK
2014-04   3232   포우
2021-07   3232   fmsong
2020-12   3232   농약맛달콤
2018-08   3232   monan
2018-08   3232   iron19
2019-03   3232   헌터D
2021-01   3232   막판대장
2020-12   3232   알수없는힘