7월, 2026의 게시물 표시

엑셀 매크로(VBA) 보안 경고 끝! 파이썬으로 똑같은 작업 대체하기

이미지
엑셀 매크로(VBA) 보안 경고 끝! 파이썬으로 똑같은 작업 대체하기 (완성 코드 공개) "매크로가 포함된 파일을 다른 사람에게 보내면 보안 경고 때문에 매크로 사용 설정을 매번 따로 해야 한다", "VBA 코드가 회사 PC마다 다르게 작동해서 디버깅이 어렵다", "매크로를 쓰는 동료가 퇴사하면 그 파일을 아무도 수정하지 못한다"… VBA 매크로는 엑셀 안에서 바로 실행되는 장점이 있지만, 보안 정책으로 차단되거나, 회사 PC마다 설정이 달라 오작동하거나, 코드 관리가 어려운 한계가 있습니다. 이 글에서는 이 블로그에서 지금까지 소개한 파이썬 코드들이 VBA의 어떤 기능을 대체할 수 있는지 비교하고, 대표적인 매크로 작업을 파이썬으로 구현하는 방법을 소개합니다. VBA 매크로 vs 파이썬 비교 VBA 매크로 파이썬 실행 환경 엑셀 안에서만 동작 독립적으로 어디서나 동작 보안 경고 매번 발생, 차단 가능 해당 없음 배포 파일에 코드 포함 스크립트 파일만 공유 디버깅 엑셀 VBA 편집기 사용 다양한 코드 에디터 사용 가능 다른 프로그램 연동 제한적 (Win API 필요) 매우 풍부함 (이메일, 웹, DB 등) 버전 관리(깃 등) 거의 불가능 일반적인 코드처럼 관리 가능 배우는 난이도 엑셀에 특화된 문법 범용 프로그래밍 언어, 활용도 넓음 💡 언제 VBA가 더 나을까: 엑셀을 열자마자 버튼 클릭으로 즉시 실행하고 싶거나, 엑셀 전용 UI(사용자 정의 양식)가 필요한 경우는 VBA가 더 간단할 수 있습니다. 하지만 안정성, 보안, 확장성을 고려하면 대부분의 반복 작업은 파이썬이 더 유리합니다. 대표 매크로 작업 1 — 여러 시트 합치기 VBA로 흔히 작성하는 "모...

엑셀 매크로(VBA) 보안 경고 끝! 파이썬으로 똑같은 작업 대체하기

이미지
엑셀 매크로(VBA) 보안 경고 끝! 파이썬으로 똑같은 작업 대체하기 (완성 코드 공개) "매크로가 포함된 파일을 다른 사람에게 보내면 보안 경고 때문에 매크로 사용 설정을 매번 따로 해야 한다", "VBA 코드가 회사 PC마다 다르게 작동해서 디버깅이 어렵다", "매크로를 쓰는 동료가 퇴사하면 그 파일을 아무도 수정하지 못한다"… VBA 매크로는 엑셀 안에서 바로 실행되는 장점이 있지만, 보안 정책으로 차단되거나, 회사 PC마다 설정이 달라 오작동하거나, 코드 관리가 어려운 한계가 있습니다. 이 글에서는 이 블로그에서 지금까지 소개한 파이썬 코드들이 VBA의 어떤 기능을 대체할 수 있는지 비교하고, 대표적인 매크로 작업을 파이썬으로 구현하는 방법을 소개합니다. VBA 매크로 vs 파이썬 비교 VBA 매크로 파이썬 실행 환경 엑셀 안에서만 동작 독립적으로 어디서나 동작 보안 경고 매번 발생, 차단 가능 해당 없음 배포 파일에 코드 포함 스크립트 파일만 공유 디버깅 엑셀 VBA 편집기 사용 다양한 코드 에디터 사용 가능 다른 프로그램 연동 제한적 (Win API 필요) 매우 풍부함 (이메일, 웹, DB 등) 버전 관리(깃 등) 거의 불가능 일반적인 코드처럼 관리 가능 배우는 난이도 엑셀에 특화된 문법 범용 프로그래밍 언어, 활용도 넓음 💡 언제 VBA가 더 나을까: 엑셀을 열자마자 버튼 클릭으로 즉시 실행하고 싶거나, 엑셀 전용 UI(사용자 정의 양식)가 필요한 경우는 VBA가 더 간단할 수 있습니다. 하지만 안정성, 보안, 확장성을 고려하면 대부분의 반복 작업은 파이썬이 더 유리합니다. 대표 매크로 작업 1 — 여러 시트 합치기 VBA로 흔히 작성하는 "모...

PDF 신청서 양식 손으로 채우지 마세요! 파이썬으로 자동 작성하기

이미지
PDF 신청서 양식 손으로 채우지 마세요! 파이썬으로 자동 작성하기 (완성 코드 공개) "거래처 30곳에 보낼 신청서 PDF를 거래처명만 다르게 일일이 입력해야 한다", "정부 지원사업 신청서 양식이 PDF인데 같은 정보를 반복 입력해야 한다", "직원들의 휴가신청서를 매번 손으로 작성하고 있다"… 입력 가능한 PDF 양식(폼 필드가 있는 PDF)은 Adobe Acrobat에서 클릭해서 채우는 방식이 일반적이지만, 여러 개를 반복 작성해야 한다면 자동화가 훨씬 효율적입니다. 파이썬을 사용하면 PDF 양식의 입력란을 자동으로 채우고, 엑셀 목록을 기반으로 여러 개를 한꺼번에 생성할 수 있습니다. 1단계: 준비물 설치 파이썬이 설치되어 있어야 합니다. 없다면 python.org 에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH" 에 체크해야 합니다. PDF 양식 처리에 필요한 라이브러리를 설치합니다. 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install pypdf pandas openpyxl pypdf 는 PDF 안의 입력 가능한 폼 필드(텍스트 입력란, 체크박스 등)를 읽고 값을 채우는 기능을 지원합니다. pandas 와 openpyxl 은 엑셀 목록을 읽어 여러 신청서를 한꺼번에 생성하는 데 사용합니다. ⚠️ 중요한 전제조건: 이 방법은 PDF가 "입력 가능한 양식" (AcroForm)으로 만들어져 있을 때만 작동합니다. 그냥 스캔한 이미지 PDF나 텍스트만 있는 일반 PDF는 입력란이 없어 이 방법을 사용할 수 없습니다. PDF를 열었을 때 클릭하면 텍스트를 입력할 수 있는 칸이 있는지 먼저 확인하세요. 2단계: PDF의 입력란 이름 확인하기 PDF 양식을 채우려면 먼저 각 입력란의 내부 이름(필드명)을 알아야 합니다. 아래 코드로 확인할 수 있습니...

엑셀 수식 일일이 입력하지 마세요! 파이썬으로 함수 자동 삽입하기

이미지
엑셀 수식 일일이 입력하지 마세요! 파이썬으로 함수 자동 삽입하기 (완성 코드 공개) "매달 매출 데이터 행이 늘어날 때마다 합계 수식 범위를 다시 잡아야 한다", "거래처별 금액에 VLOOKUP을 걸어서 할인율을 매번 찾아야 한다", "조건에 따라 다른 결과를 보여주는 IF 수식을 수백 개 행에 똑같이 입력해야 한다"… 엑셀 수식을 셀 하나에 입력하고 드래그해서 채우는 작업은 데이터 양이 적을 때는 괜찮지만, 매번 데이터가 추가되거나 여러 파일에 똑같은 수식을 반복 적용해야 한다면 비효율적입니다. 파이썬을 사용하면 데이터 범위에 정확히 맞춰 수식을 자동으로 삽입할 수 있고, 엑셀에서 열면 일반 수식처럼 그대로 작동합니다. 1단계: 준비물 설치 파이썬이 설치되어 있어야 합니다. 없다면 python.org 에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH" 에 체크해야 합니다. 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install openpyxl pandas openpyxl 은 셀에 수식 텍스트를 직접 입력하는 기능을 지원합니다. 파이썬이 수식을 계산하는 것이 아니라, 엑셀이 인식할 수식 문자열을 셀에 써넣는 방식입니다. 파일을 엑셀로 열면 자동으로 계산됩니다. 💡 이 코드로 할 수 있는 것: SUM, AVERAGE 같은 집계 수식을 데이터 범위에 맞춰 자동 삽입, VLOOKUP으로 다른 시트의 값 참조, IF 조건 수식 일괄 적용, 수식을 행 전체에 자동으로 채우기까지 처리합니다. 2단계: 엑셀 파일 준비 아래처럼 1행이 헤더이고 2행부터 데이터가 입력된 형태면 됩니다. 거래처명 단가 수량 금액(수식 채울 열) 상태(수식 채울 열) A주식회사 50000 12 B기술연구소 30000 5 C물산 800...

회의록 작성 시간 끝! 파이썬으로 음성 녹음을 텍스트·요약으로 자동 변환하기

이미지
회의록 작성 시간 끝! 파이썬으로 음성 녹음을 텍스트·요약으로 자동 변환하기 (완성 코드 공개) "1시간짜리 회의 녹음을 다시 들으면서 회의록을 작성하느라 회의 시간보다 더 오래 걸린다", "출장 중 통화 내용을 녹음해뒀는데 텍스트로 정리할 시간이 없다", "여러 명이 참석한 회의 내용을 핵심만 요약해서 공유하고 싶다"… 회의록 작성은 회의 자체보다 시간이 더 걸리는 경우가 많습니다. 파이썬과 무료 음성 인식 라이브러리를 활용하면 녹음 파일을 텍스트로 자동 변환하고, 핵심 내용만 추출해서 워드 파일로 정리할 수 있습니다. 1단계: 준비물 설치 파이썬이 설치되어 있어야 합니다. 없다면 python.org 에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH" 에 체크해야 합니다. 음성 인식에 필요한 라이브러리를 설치합니다. 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install openai-whisper python-docx openai-whisper 는 OpenAI에서 공개한 무료 음성 인식 모델입니다. 별도 API 키나 인터넷 연결 없이 PC에서 직접 음성을 텍스트로 변환할 수 있습니다. 한국어 인식 성능이 뛰어난 편입니다. python-docx 는 결과를 워드 파일로 저장하는 데 사용합니다. ⚠️ 추가 설치 필요: Whisper는 내부적으로 FFmpeg 라는 프로그램이 필요합니다. ffmpeg.org 에서 윈도우용을 내려받아 압축을 풀고, 시스템 환경 변수 PATH에 bin 폴더 경로를 추가해야 합니다. 검색창에 "환경 변수 편집"을 입력하면 설정 화면을 찾을 수 있습니다. 2단계: 완성 코드 — 음성을 텍스트로 변환 아래 코드를 그대로 복사해서 메모장에 붙여넣고, transcribe.py 로 저장하세요. 저장 시 파일 형식은 "모든 파일...

코드에 비밀번호 그대로 적어두지 마세요! 파이썬으로 암호화 저장하기

이미지
코드에 비밀번호 그대로 적어두지 마세요! 파이썬으로 암호화 저장하기 (완성 코드 공개) 이 블로그에서 지금까지 소개한 이메일 발송, 카카오톡·텔레그램 연동, 구글 시트, 웹사이트 로그인 자동화 코드들을 다시 살펴보면 공통적으로 PASSWORD = "abc1234!" 처럼 비밀번호를 코드에 그대로 적어두는 부분이 있었습니다. 이 방식은 코드를 다른 사람과 공유하거나 깃허브에 업로드할 때 비밀번호가 그대로 노출되는 위험이 있습니다. 파이썬의 cryptography 라이브러리를 사용하면 비밀번호와 API 키 등 민감한 정보를 암호화해서 별도 파일에 저장하고, 실행할 때만 복호화해서 사용할 수 있습니다. 코드 자체에는 평문 비밀번호가 전혀 남지 않습니다. 1단계: 준비물 설치 파이썬이 설치되어 있어야 합니다. 없다면 python.org 에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH" 에 체크해야 합니다. 암호화에 필요한 라이브러리를 설치합니다. 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install cryptography cryptography 는 업계 표준 암호화 라이브러리입니다. 이 글에서는 그 중 가장 사용하기 쉬운 Fernet 방식(대칭키 암호화)을 사용합니다. 하나의 키로 암호화와 복호화를 모두 처리합니다. 💡 이 코드로 할 수 있는 것: 비밀번호, API 키, 토큰 등을 암호화해서 별도 파일에 저장하고, 프로그램 실행 시 키 파일로 복호화해서 사용합니다. 암호화된 파일만 봐서는 원래 내용을 알 수 없습니다. 2단계: 완성 코드 — 암호화 키 생성 (최초 1회만) 먼저 암호화·복호화에 사용할 키를 한 번만 생성합니다. 아래 코드를 generate_key.py 로 저장하고 실행하세요. from cryptography.fernet import Fernet # 암호화 키 생성 key = Fern...

사내 그룹웨어 매일 로그인 끝! 파이썬으로 웹사이트 자동 로그인하기

이미지
사내 그룹웨어 매일 로그인 끝! 파이썬으로 웹사이트 자동 로그인하기 (완성 코드 공개) "매일 아침 사내 그룹웨어에 로그인해서 출근 체크를 한다", "인트라넷에 로그인한 후 매번 같은 메뉴를 클릭해서 데이터를 확인한다", "여러 웹사이트에 로그인해서 정보를 확인하는 루틴이 매일 반복된다"… 이전 게시글 pyautogui 윈도우 자동화 편 에서는 좌표 기반으로 마우스·키보드를 제어하는 방법을 소개했습니다. 웹사이트 자동화에는 Selenium 이라는 전용 도구가 훨씬 안정적입니다. 브라우저 창의 위치나 크기가 바뀌어도 HTML 요소를 기준으로 정확하게 찾아서 클릭하기 때문입니다. 1단계: 준비물 설치 파이썬이 설치되어 있어야 합니다. 없다면 python.org 에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH" 에 체크해야 합니다. 웹 자동화에 필요한 라이브러리를 설치합니다. 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install selenium webdriver-manager selenium 은 브라우저를 코드로 제어하는 표준 라이브러리입니다. webdriver-manager 는 크롬 브라우저에 맞는 드라이버 파일을 자동으로 다운로드하고 관리해줍니다. 별도로 드라이버를 수동 설치할 필요가 없습니다. ⚠️ 중요한 주의사항: 이 코드는 본인이 권한을 가진 계정(사내 시스템, 개인 업무 계정)에만 사용해야 합니다. 타인의 계정이나 권한 없는 사이트에 자동 로그인을 시도하는 것은 명백한 불법 행위입니다. 또한 비밀번호를 코드에 평문으로 저장하는 것은 보안 위험이 있으므로, 실제 운영 시에는 아래 응용 섹션의 환경 변수 분리 방법을 꼭 적용하세요. 2단계: 완성 코드 아래 코드를 그대로 복사해서 메모장에 붙여넣고, web_login.py 로 저장하세요. 저장 시 파일 형식은 ...

한글 파일 열면 깨질 때! 파이썬으로 인코딩 자동 감지·변환하기

이미지
한글 파일 열면 깨질 때! 파이썬으로 인코딩 자동 감지·변환하기 (완성 코드 공개) "옛날 회계 시스템에서 받은 CSV 파일을 열면 한글이 ㅁㅁㅁ로 깨진다", "거래처에서 보내준 텍스트 파일이 메모장에서는 이상하게 보이는데 다른 프로그램에서는 정상이다", "수십 개의 파일을 일괄로 UTF-8로 통일해야 한다"… 한글 텍스트 파일이 깨지는 가장 흔한 원인은 인코딩 방식의 차이 때문입니다. 오래된 윈도우 프로그램은 EUC-KR (또는 CP949)을 사용하고, 최신 웹·프로그램은 UTF-8 을 사용합니다. 서로 다른 인코딩으로 저장된 파일을 잘못된 방식으로 열면 한글이 깨집니다. 파이썬을 한 번만 세팅해두면 파일의 인코딩을 자동으로 감지하고 원하는 인코딩으로 일괄 변환할 수 있습니다. 1단계: 준비물 설치 파이썬이 설치되어 있어야 합니다. 없다면 python.org 에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH" 에 체크해야 합니다. 인코딩 감지에 필요한 라이브러리를 설치합니다. 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install chardet chardet 은 파일의 바이트 패턴을 분석해서 어떤 인코딩으로 저장되었는지 자동으로 감지하는 라이브러리입니다. 파일을 직접 열어보지 않고도 인코딩을 알 수 있습니다. 💡 이 코드로 할 수 있는 것: 텍스트·CSV 파일의 인코딩을 자동으로 감지하고, 원하는 인코딩(UTF-8, EUC-KR, CP949 등)으로 변환해 저장합니다. 폴더 안의 여러 파일을 한꺼번에 처리할 수 있고, 변환 전후 인코딩을 로그로 기록합니다. 2단계: 완성 코드 아래 코드를 그대로 복사해서 메모장에 붙여넣고, encoding_convert.py 로 저장하세요. 저장 시 파일 형식은 "모든 파일" , 인코딩은 UTF-8 로 설정합니다....

어떤 폴더가 용량을 다 먹고 있을까? 파이썬으로 자동 분석하기

이미지
어떤 폴더가 용량을 다 먹고 있을까? 파이썬으로 자동 분석하기 (완성 코드 공개) "디스크 용량이 거의 다 찼는데 어떤 폴더가 그렇게 큰지 모르겠다", "다운로드 폴더가 너무 커진 것 같은데 안의 어떤 하위 폴더가 문제인지 확인하고 싶다", "여러 드라이브의 용량 현황을 정리해서 보고하고 싶다"… 윈도우 탐색기에서 폴더를 하나씩 클릭해 속성을 확인하는 방법은 폴더가 많을수록 시간이 오래 걸립니다. 파이썬을 한 번만 세팅해두면 폴더 전체를 한 번에 스캔해서 용량이 큰 순서대로 정렬하고, 차트로 시각화해서 한눈에 파악할 수 있습니다. 1단계: 준비물 설치 파이썬이 설치되어 있어야 합니다. 없다면 python.org 에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH" 에 체크해야 합니다. 용량 분석과 시각화에 필요한 라이브러리를 설치합니다. 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install pandas openpyxl matplotlib pandas 는 분석 결과를 정리하고 엑셀로 저장하는 데 사용합니다. matplotlib 은 용량 데이터를 막대 차트 이미지로 시각화하는 데 사용합니다. 용량 계산 자체는 파이썬 기본 내장 기능( pathlib , os )으로 처리합니다. 💡 이 코드로 할 수 있는 것: 지정한 폴더의 하위 폴더별 용량을 모두 계산해 큰 순서대로 정렬, 결과를 엑셀로 저장, 상위 10개 폴더를 막대 차트로 시각화합니다. 폴더 안에 폴더가 아무리 깊게 있어도 모두 합산해서 계산합니다. 2단계: 완성 코드 아래 코드를 그대로 복사해서 메모장에 붙여넣고, folder_size.py 로 저장하세요. 저장 시 파일 형식은 "모든 파일" , 인코딩은 UTF-8 로 설정합니다. from pathlib import Path import panda...

영수증 손으로 입력하지 마세요! 파이썬 OCR로 자동 인식·정리하기

이미지
영수증 손으로 입력하지 마세요! 파이썬 OCR로 자동 인식·정리하기 (완성 코드 공개) "출장 영수증 20장을 일일이 보면서 금액을 엑셀에 입력해야 한다", "매달 카드 명세서를 사진으로 찍어두긴 했는데 정리를 안 했다", "사업자 지출 내역을 영수증 사진만 보고 회계 프로그램에 옮겨야 한다"… 영수증을 눈으로 보고 손으로 타이핑하는 작업은 시간도 오래 걸리고 숫자를 잘못 입력하는 실수도 생깁니다. 파이썬과 무료 OCR(광학 문자 인식) 라이브러리를 활용하면 영수증이나 명세서 사진에서 텍스트를 자동으로 추출하고, 날짜와 금액을 인식해 엑셀로 정리할 수 있습니다. 1단계: 준비물 설치 파이썬이 설치되어 있어야 합니다. 없다면 python.org 에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH" 에 체크해야 합니다. OCR 처리에 필요한 라이브러리를 설치합니다. 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install easyocr pandas openpyxl easyocr 은 한글과 영어를 모두 지원하는 무료 OCR 라이브러리입니다. 별도 API 키나 회원가입 없이 바로 사용할 수 있습니다. 처음 실행 시 인식 모델(약 100MB)을 자동으로 내려받으므로 시간이 조금 걸립니다. pandas 와 openpyxl 은 인식 결과를 엑셀로 저장하는 데 사용합니다. 💡 이 코드로 할 수 있는 것: 영수증·명세서 이미지에서 전체 텍스트를 인식하고, 정규식을 활용해 날짜와 금액 패턴을 자동으로 찾아냅니다. 여러 영수증 이미지를 한꺼번에 처리해 하나의 엑셀로 정리합니다. 2단계: 완성 코드 아래 코드를 그대로 복사해서 메모장에 붙여넣고, receipt_ocr.py 로 저장하세요. 저장 시 파일 형식은 "모든 파일" , 인코딩은 UTF-8 로 설정합니다. impor...

정부 공공데이터 무료로 자동 수집하기! 파이썬 공공데이터포털 API 활용법

이미지
정부 공공데이터 무료로 자동 수집하기! 파이썬 공공데이터포털 API 활용법 (완성 코드 공개) "창업 전 상권 분석을 위해 지역별 인구·상가 데이터가 필요하다", "블로그 글에 신뢰할 수 있는 통계 자료를 넣고 싶다", "부동산 실거래가 데이터를 정기적으로 모니터링하고 싶다"… 대한민국 정부는 공공데이터포털(data.go.kr) 을 통해 인구, 상가, 부동산, 교통, 기상 등 수천 개의 데이터를 무료 API로 제공합니다. 매번 사이트에 들어가 다운로드하는 대신, 파이썬으로 API를 호출하면 필요한 데이터를 자동으로 수집해 엑셀에 정리할 수 있습니다. 1단계: 공공데이터포털 API 키 발급 (최초 1회만) 공공데이터포털에서 사용할 API의 인증키를 발급받아야 합니다. data.go.kr 에 접속해 회원가입 후 로그인합니다. 검색창에 원하는 데이터를 검색합니다. 예: "소상공인시장진흥공단 상가업소" 검색 결과에서 "OpenAPI" 탭의 데이터를 선택합니다. "활용신청" 버튼을 클릭하고 활용 목적을 간단히 작성합니다. 승인까지 즉시~1일 정도 소요됩니다. "마이페이지" → "데이터활용" → "Open API" 에서 발급받은 인증키(Encoding/Decoding) 를 확인합니다. ⚠️ 주의: 인증키는 Encoding 과 Decoding 두 가지가 제공됩니다. requests 라이브러리로 호출할 때는 보통 Decoding 키 를 사용합니다. Encoding 키를 사용하면 URL 인코딩이 중복되어 오류가 날 수 있습니다. 2단계: 준비물 설치 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install requests pandas openpyxl requests 는 공공데이터 API 서버에 요청을 ...

PDF 용량 때문에 이메일 전송 실패! 파이썬으로 자동 압축하기

이미지
PDF 용량 때문에 이메일 전송 실패! 파이썬으로 자동 압축하기 (완성 코드 공개) "스캔한 계약서 PDF가 50MB라서 이메일 첨부 용량 제한에 걸린다", "사진이 많이 포함된 보고서 PDF를 클라우드에 올리려니 너무 오래 걸린다", "여러 개의 PDF를 한꺼번에 압축해야 한다"… PDF 용량이 큰 이유는 대부분 안에 포함된 고해상도 이미지 때문입니다. 텍스트 자체는 용량을 거의 차지하지 않습니다. 파이썬을 한 번만 세팅해두면 PDF 안의 이미지 해상도와 압축률을 조정해 파일 용량을 대폭 줄이면서도 읽는 데는 문제없는 수준으로 만들 수 있습니다. 1단계: 준비물 설치 파이썬이 설치되어 있어야 합니다. 없다면 python.org 에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH" 에 체크해야 합니다. PDF 압축에 필요한 라이브러리를 설치합니다. 터미널(윈도우: CMD 또는 파워셸)을 열고 아래 명령어를 실행하세요: pip install PyMuPDF PyMuPDF (설치명은 PyMuPDF이지만 코드에서는 fitz 로 불러옵니다)는 PDF를 분석하고 안의 이미지를 추출·재압축해서 다시 삽입할 수 있는 강력한 라이브러리입니다. 텍스트와 레이아웃은 그대로 유지하면서 이미지만 압축합니다. 💡 이 코드로 할 수 있는 것: PDF 안의 모든 이미지를 지정한 품질로 재압축, 이미지 해상도 다운스케일링, 전체 PDF 객체 스트림 최적화를 통해 원본 대비 50~90%까지 용량을 줄입니다. 폴더 단위 일괄 처리도 지원합니다. 2단계: 완성 코드 아래 코드를 그대로 복사해서 메모장에 붙여넣고, compress_pdf.py 로 저장하세요. 저장 시 파일 형식은 "모든 파일" , 인코딩은 UTF-8 로 설정합니다. import fitz # PyMuPDF from pathlib import Path f...