PDF 썸네일형 리스트형 PDF에서 검은 칠로 가린 글자, 복사하면 그대로 나옵니다 계약서나 신청서를 보내기 전에 주민등록번호나 계좌번호 위에 검은 사각형을 덮어 가려 본 적 있으실 겁니다. 화면에서 안 보이니 가려졌다고 생각하기 쉽습니다.그런데 그 부분을 마우스로 드래그해 다른 곳에 붙여 넣으면 원래 글자가 그대로 나옵니다. 사각형은 글자를 지운 것이 아니라 글자 위에 하나 더 그려진 도형이기 때문입니다. 정말 그런지 같은 PDF를 세 가지 방법으로 가려 놓고 각각 글자를 꺼내 봤습니다. 덮은 파일에서 번호가 그대로 나왔습니다이름, 번호, 전화번호 세 줄이 든 PDF를 만들고, 번호 줄 위에만 검은 사각형을 그려 덮었습니다. 그리고 두 파일에서 글자를 꺼내 비교했습니다. 측정 환경은 윈도우 11, 파이썬 3.12.10, reportlab 5.0.0, pypdf 6.14.2입니다.. 더보기 한 장짜리 한글 문서를 PDF로 저장했더니 45KB, 용량의 71%는 폰트였습니다 워드에서 만든 문서를 PDF로 내보냈는데 생각보다 파일이 크게 나오는 경우가 있습니다. 이미지도 없고 페이지도 한 장인데 수십 KB에서 수백 KB가 나오면 어디에서 그 용량이 나온 것인지 감이 잡히지 않습니다.같은 분량의 영문 문서와 한글 문서를 각각 PDF로 내보내 비교하고, 그 PDF 안을 파이썬으로 열어 무엇이 자리를 차지하는지 바이트 단위로 확인해 봤습니다. 범인은 본문이 아니라 문서에 쓰인 글꼴이었습니다. PDF에는 글자만 담기는 게 아닙니다PDF의 목적은 어느 컴퓨터에서 열어도 같은 모양으로 보이는 것입니다. 그런데 받는 사람의 PC에 그 글꼴이 없으면 모양이 무너집니다. 그래서 PDF는 문서에 쓰인 글꼴을 파일 안에 통째로 넣어 두는데, 이것을 폰트 임베딩이라고 부릅니다.영문 문서라면 이 .. 더보기 PDF에 암호를 걸었는데 그냥 열립니다, 암호 칸이 두 개인 이유 PDF에 암호를 거는 화면을 열어 보면 암호를 넣는 칸이 하나가 아닙니다. 위쪽에는 문서를 열 때 쓸 암호, 아래쪽에는 권한을 바꿀 때 쓸 암호를 따로 받습니다.여기서 아래쪽 칸만 채운 채 저장하면, 나중에 그 파일은 암호를 묻지 않고 그냥 열립니다. 잘못 만든 것이 아니라 원래 그렇게 동작하는 것입니다. 같은 PDF에 두 방식을 각각 걸어 파이썬으로 열어 보며 무엇이 어떻게 다른지 확인해 봤습니다. 이름부터 역할이 다릅니다PDF 규격에는 암호가 두 종류 있습니다. 하나는 사용자 암호로, 흔히 열기 암호라고 부릅니다. 문서를 여는 자격을 확인하는 암호입니다.다른 하나는 소유자 암호입니다. 이쪽은 문서를 여는 것과는 상관이 없고, 인쇄나 복사 같은 권한을 풀 때 필요한 암호입니다. 그래서 소유자 암호만 .. 더보기 여러 개의 PDF를 하나로 합치고, 필요한 페이지만 빼내는 법 계약서, 영수증, 신분증 사본을 따로따로 스캔해 두었다가 한 파일로 제출해야 할 때가 있습니다. 반대로 여러 장짜리 PDF에서 딱 두 장만 보내야 할 때도 있고요.PDF는 워드처럼 열어서 이어 붙이기가 쉽지 않아 막막하게 느껴집니다. 그래서 합치기와 페이지 빼내기를 실제로 해 보고, 그 과정에서 용량과 페이지 수가 어떻게 변하는지 함께 재 봤습니다. PDF 3개를 실제로 합쳐 봤습니다3페이지짜리 계약서, 2페이지 영수증, 1페이지 신분증 사본을 준비했습니다. 세 파일을 더하면 6페이지, 용량은 약 838KB입니다.이 셋을 하나로 병합한 결과입니다. 측정 환경은 윈도우 11, 파이썬 3.12.10, pypdf 6.14.2입니다.파일페이지용량계약서.pdf3418.5 KB영수증.pdf2279.9 KB신분증... 더보기 파일 이름 뒤 .jpg를 .png로 바꾸면 진짜 변환될까, 흔한 오해와 실제 이미지가 PNG여야 한다고 해서, 파일 이름 끝의 .jpg를 지우고 .png로 바꿔 본 적 있으신가요. 겉보기엔 아이콘도 바뀌고 그럴듯해 보입니다.그런데 어떤 사이트에 올리면 "형식이 맞지 않는다"며 거부당하기도 합니다. 이름만 바꾼 파일이 정말 PNG가 된 건지, 파일 속을 직접 열어 확인해 봤습니다. 파일의 진짜 정체는 이름이 아니라 속에 있습니다모든 파일은 맨 앞에 자기가 무슨 형식인지 알려주는 표시를 담고 있습니다. 이걸 매직 바이트라고 부르는데, 쉽게 말하면 파일 첫머리에 찍힌 형식 도장입니다.JPG 사진을 만들고, 파일 속 첫 네 바이트를 그대로 읽어 봤습니다. 측정 환경은 윈도우 11, 파이썬 3.12.10, Pillow 12.3.0입니다.파일파일 앞부분(매직 바이트)용량실제 형식원본 pho.. 더보기 PDF 용량 줄이기를 눌러도 안 줄어드는 이유, 스캔 문서라면 방법이 다릅니다 메일 첨부나 서류 제출에서 "PDF 용량이 너무 큽니다"라는 벽에 부딪히는 일이 많습니다. 그런데 압축 도구를 돌려 봐도 용량이 그대로일 때가 있습니다. 도구가 고장 난 걸까요.사실은 PDF의 종류에 따라 통하는 방법이 다르기 때문입니다. 텍스트로 된 PDF와 스캔한 PDF를 각각 압축해 보면, 결과가 정반대로 갈립니다. 직접 재 봤습니다. 같은 압축인데 결과가 정반대였습니다텍스트로 채운 PDF와, 종이를 찍은 것 같은 스캔 PDF를 각각 만들어 같은 방식으로 압축했습니다. 측정 환경은 윈도우 11, 파이썬 3.12.10, pypdf 6.14.2입니다.종류원본일반 압축 후텍스트 기반 PDF19.3 KB4.0 KB (79% 감소)스캔(이미지) 기반 PDF729.8 KB729.8 KB (그대로)텍스트 .. 더보기 사진 여러 장을 PDF로 합쳤더니 용량이 몇 배로, 원본 크기 그대로 합치는 법 스캔한 서류나 사진 여러 장을 한 파일로 제출해야 할 때가 있습니다. 그래서 이미지를 모아 PDF 하나로 합쳤는데, 원본을 다 더한 것보다 파일이 훨씬 커져서 당황한 적이 있으실 겁니다.같은 사진을 담는데 왜 어떤 방식은 용량이 그대로고 어떤 방식은 두 배가 넘을까요. 방식만 바꿔 가며 직접 재 봤습니다. 같은 사진 3장, 담는 방식만 바꿔 용량을 쟀습니다가로 2000, 세로 1500 크기의 테스트 이미지 3장을 JPG로 준비했습니다. 세 장을 더한 원본 용량은 약 3,045KB입니다. 이 세 장을 세 가지 방식으로 PDF 하나에 담아 봤습니다.측정 환경은 윈도우 11, 파이썬 3.12.10, Pillow 12.3.0입니다. 담는 방식PDF 용량원본 합계 대비원본 JPG 3장 합계(참고)3,045 KB1.. 더보기 이전 1 다음