문서를 손상시키지 않고 Markdown을 PDF로 변환하세요
Markdown은 스크롤되는 화면을 위해 작성됩니다. PDF는 페이지가 있고, 페이지에는 경계가 있습니다. 대부분의 변환기는 이 차이를 무시합니다: 파일을 브라우저에 넘기고, 인쇄를 누른 뒤, 나오는 대로 반환합니다. 그래서 표의 마지막 네 개 열이 사라지고, 제목이 페이지 맨 아래에 고립되며, README 맨 위의 로고가 텍스트로 인쇄된 원시 HTML 한 줄로 나타나는 것입니다. MiniPNG는 먼저 문서를 종이에 맞게 배치하고, 그 과정에서 무엇을 했는지 알려줍니다.
종이에 딱 맞는 표
Markdown 표에는 열 너비 정보가 없습니다. 구문상 그 정보를 담을 곳이 없기 때문에, 표를 바로 브라우저로 넘기는 변환기는 표가 우연히 맞길 바랄 뿐입니다. MiniPNG는 모든 표를 그리기 전에 측정하고, 사용자가 선택한 용지에 맞게 크기를 조정합니다. 파일 경로가 14열이나 되는 표도 여백 안에 들어가고, 긴 값은 경계 밖으로 튀어나가지 않고 줄바꿈 처리됩니다. 결과에는 이렇게 조정했다는 사실이 명시됩니다.
문제의 조용한 절반은 두 번째 페이지에서 발생합니다. 긴 표는 보통 헤더 행을 첫 페이지에 남기고, 독자는 라벨 없는 숫자 그리드만 받게 됩니다. MiniPNG에서는 표가 걸치는 모든 페이지마다 헤더가 반복되고, 행이 페이지 나누기로 잘리는 일도 없습니다.
여백을 견디는 코드
펜스 코드 블록은 하이라이트와 언어 라벨을 그대로 유지합니다. 긴 줄은 어디서 줄바꿈이 일어났는지 보이도록 감싸지며, 종이 끝에서 잘리지 않습니다. PDF에는 스크롤바가 없으므로, 줄바꿈이 없는 코드는 오른쪽이 잘려나갑니다. 들여쓰기 블록, 언어 없는 펜스, 인라인 코드는 모두 원래 모습 그대로 변환됩니다.
README의 이미지들
로고와 빌드 배지 행은 거의 항상 Markdown이 아닌 원시 HTML로 작성됩니다. 이미지를 가운데 정렬할 방법이 없기 때문입니다. HTML 렌더링을 거부하는 변환기는 보통 이를 이스케이프 처리해버려, 문서가 이미지 태그가 텍스트로 인쇄된 화면으로 시작하게 만듭니다. MiniPNG는 마크업을 제거하고, 그 안의 이미지와 텍스트는 그대로 남겨 문서 맨 위가 원래처럼 보이게 합니다.
이미지는 링크가 아닌 파일 내에 직접 삽입되므로, PDF는 오프라인에서도, 1년 후에도 문제없이 작동합니다. 이미지를 불러올 수 없는 경우, 결과물에 그 개수를 표시하고, 조용히 빈칸만 남기지 않습니다.
제목이 네비게이션이 됩니다
모든 PDF에는 사용자의 제목에서 만들어진 북마크 트리가 포함되어, 긴 문서도 사이드바에서 쉽게 이동할 수 있습니다. 목차 페이지를 요청하면 원하는 제목 깊이까지 클릭 가능한 목차도 생성됩니다. 맨 위에 단 하나의 제목이 있다면, 이는 문서의 제목으로 인식되어 목록에서 제외되어, 책의 제목처럼 동작합니다.
각주(footnote)는 각주로 남고, 위첨자 표시와 읽던 줄로 돌아가는 링크가 유지됩니다. 할 일 목록은 체크박스가 그대로 남으며, 체크 여부도 유지됩니다. 참고, 경고, 팁 콜아웃은 색상 바를 유지합니다. 파일 맨 위의 front matter는 메타데이터로 처리되어 본문에 나타나지 않습니다. 정의 목록, 취소선, 중첩 인용문, 세 단계 중첩 목록도 모두 원래대로 렌더링됩니다.
불가능했던 점을 알려줍니다
모든 변환 결과에는 간단한 요약이 함께 제공됩니다: 페이지 수, 텍스트 방향, 표 개수, 코드 블록 개수, 삽입된 이미지 수, 불러오지 못한 이미지 수 등이 포함됩니다. 폰트에 없는 문자가 있다면, 해당 문자를 목록으로 알려줍니다. 목차 페이지를 요청했으나 문서에 제목이 없다면, 빈 페이지를 넣지 않고 그 사실을 알려줍니다. 실패를 숨기는 변환기는 신뢰를 잃는 주된 이유입니다.
비라틴 문자도 지원
폰트는 PDF 내부에 포함되어, 해당 폰트가 설치되지 않은 컴퓨터에서도 동일하게 열립니다. 오른쪽에서 왼쪽으로 쓰는 텍스트는 파일 전체가 아닌 블록 단위로 판단하여, 기술 문서처럼 라틴 문자가 절반 이상 섞여 있어도 올바르게 처리됩니다. 펜스 코드 블록은 항상 왼쪽에서 오른쪽으로 표시되고, 나머지 레이아웃도 올바르게 반전됩니다: 글머리표, 인용 바, 표 열 모두 이동합니다. 이탤릭이 없는 문자는 기울임 대신 굵기로 강조합니다.
하지 않는 것들
LaTeX는 렌더링되지 않습니다. 달러 기호로 감싼 블록은 텍스트 그대로 출력됩니다. Mermaid도 그려지지 않습니다: mermaid로 표시된 펜스는 라벨이 붙은 코드 블록으로 변환됩니다. 중국어, 일본어, 한국어는 내장 폰트 범위 밖이므로, 해당 문자는 누락된 것으로 보고됩니다. 이는 결함이 아니라 명확한 한계이며, 업로드 후에 알게 되지 않도록 여기서 안내합니다.
실제 사용 방법
기기에서 업로드하거나, Google Drive에서 가져오거나, 파일 링크를 붙여넣어 업로드할 수 있습니다. Markdown 파일은 모든 일반 확장자를 지원하며, 일반 텍스트도 가능합니다. 용지는 A3, A4, A5, Letter, Legal, Tabloid 중 선택할 수 있고, 세로/가로 방향, 좁은/보통/넓은 여백을 고를 수 있습니다. 페이지 번호와 구문 하이라이트는 기본적으로 켜져 있습니다. 파일 하나를 보내면 PDF로, 여러 개를 보내면 ZIP으로 묶이거나, 요청 시 연속 페이지 번호가 적용된 하나의 PDF로 병합됩니다. 텍스트는 이미지로 변환되지 않고 실제 텍스트로 남아, 선택, 검색, 복사가 가능합니다.
MiniPNG에서 얻을 수 있는 것
- 여백 안에 머무는 표와, 모든 페이지에 반복되는 헤더 행
- 잘리지 않고 줄바꿈되는 긴 줄의 구문 하이라이트 코드
- 원시 HTML로 작성된 이미지까지 포함한 파일 내 이미지 삽입
- 제목에서 생성된 북마크 트리와, 원할 때 클릭 가능한 목차 페이지
- PDF 내부에 포함된 폰트로, 어떤 컴퓨터에서 열어도 동일한 모양
- 누락된 글리프나 이미지 등 변환기가 처리하지 못한 사항에 대한 요약
다음 단계는?
Word 파일에서 시작하셨나요? Word를 PDF로 변환도 같은 방식으로 종이에 맞춥니다.
결과물을 PDF 병합으로 보고서의 다른 부분과 합치세요.
그리고 PDF 압축으로 파일 용량을 줄인 뒤 전송하세요.