사용 방법
- Base64 문자열을 입력란에 붙여넣습니다. data:application/pdf;base64,로 시작하는 data URI를 그대로 붙여넣어도 됩니다.
- 파일이 PDF로 감지되는지 확인하고 뷰어에서 문서를 읽습니다.
- PDF를 다운로드해 기기에 저장합니다.
API 응답에서 Base64 복사하기
청구서, 배송 라벨, 보고서, 서명된 계약서를 생성하는 서비스는 흔히 {"filename": "label.pdf", "data": "JVBERi0..."}처럼 JSON 안에 PDF를 담아 반환합니다. 필드 이름 뒤의 따옴표 사이에 있는 텍스트만 복사하고, 다음 사항에 주의하십시오.
- 이스케이프된 슬래시: PHP의
json_encode를 비롯한 일부 JSON 인코더는 모든/를\/로 씁니다./는 Base64의 정상적인 문자이므로 붙여넣기 전에\/를/로 바꾸거나, JSON을 먼저 파싱한 뒤 값을 복사하십시오. - 따옴표와 쉼표: 앞뒤의 따옴표와 끝에 붙은 쉼표는 빼십시오.
- 줄 바꿈: 76자마다 줄이 바뀐 값처럼 Base64 안에 있는 공백과 실제 줄 바꿈은 문제가 없으므로 지울 필요가 없습니다. 하지만 원시 JSON에 있는 문자 그대로의
\n이나\r\n시퀀스는 다릅니다. 이는 백슬래시 문자이므로 반드시 삭제해야 합니다.
브라우저 개발자 도구의 파싱된 보기에서 값을 복사하면 이런 이스케이프 문제를 모두 피할 수 있습니다.
이메일에서 PDF 첨부 파일 추출하기
이메일 첨부 파일은 원본 메시지 안에 Base64로 저장됩니다. 메시지 소스를 열고(Gmail에서는 "원본 보기", Thunderbird에서는 "메시지 소스", Apple Mail에서는 "원본 소스") 헤더에 Content-Type: application/pdf(또는 .pdf 파일 이름이 붙은 application/octet-stream)와 Content-Transfer-Encoding: base64가 포함된 부분을 찾으십시오. 이 헤더 아래의 빈 줄 다음부터 MIME 경계인 --로 시작하는 다음 줄 바로 앞까지의 블록을 복사합니다. 여기에 그대로 붙여넣으면 되며, 줄 바꿈은 무시됩니다.
내 웹 앱에서 Base64 PDF 표시하기
프런트엔드가 Base64 PDF를 받아 표시해야 한다면 data URI보다 Blob URL이 더 안정적입니다. 일부 브라우저는 data URI를 새 탭에서 여는 것을 거부하기 때문입니다.
const bytes = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
const blob = new Blob([bytes], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
window.open(url); // 또는 <iframe>의 src로 사용
문서가 더 이상 필요하지 않으면 URL.revokeObjectURL(url)을 호출해 메모리를 해제하십시오. 또한 atob은 표준 Base64 알파벳만 받으므로 URL 안전 입력(-와 _)은 먼저 변환해야 합니다.
자주 묻는 질문
Base64가 PDF로 감지되지 않는 이유는 무엇입니까?
%PDF-를 인코딩한 JVBERi0으로 시작합니다. 따옴표, 필드 이름 등 다른 텍스트로 시작한다면 그 부분을 지우십시오. SlZCRVJ로 시작한다면 PDF가 Base64로 두 번 인코딩된 것입니다. Base64 디코더로 한 번 디코딩한 뒤 결과를 여기에 붙여넣으십시오. 그 밖의 경우라면 다른 파일 유형일 수 있으며, Base64 파일 변환 도구로 확인할 수 있습니다.PDF가 다운로드되지만 열리지 않습니다. 무엇이 문제입니까?
대개 Base64가 잘린 경우입니다. 로그, 콘솔, 데이터베이스 도구는 긴 값을 자르는 경우가 많습니다. PDF는 모든 페이지의 위치를 담은 상호 참조 테이블을 파일 끝부분에 저장하므로, 끝이 빠진 PDF는 읽을 수 없습니다. 가능하면 원래 응답을 파일로 저장하는 방식으로 전체 값을 다시 복사하십시오.
휴대폰에서 미리 보기가 비어 있습니다. 파일이 손상된 것입니까?
꼭 그렇지는 않습니다. 일부 모바일 브라우저는 페이지 안에 PDF를 표시하지 못합니다. 파일을 다운로드해 PDF 리더로 열어 확인하십시오.
비밀번호로 보호된 PDF도 디코딩할 수 있습니까?
예. 디코딩은 암호화를 포함해 파일을 바이트 단위로 그대로 복원합니다. 미리 보기에서 비밀번호를 묻거나 빈 화면이 표시될 수 있으며, 다운로드한 파일은 비밀번호를 입력하면 어떤 PDF 리더에서든 열립니다.
문서가 어딘가에 업로드됩니까?
아니요. 디코딩과 미리 보기는 브라우저에서 이루어지므로 계약서, 급여 명세서, 의료 기록 같은 기밀 PDF도 기기 밖으로 나가지 않습니다.