왜 pdf 파일을 eps로 변환해야 하는가?

21세기 CS 관련 연구자들은 학회지(CVPR, ICCV, ECCV, AAAI, ICRA 등등)를 저널보다 더 자주 내다보니, 그림을 powerpoint로 대애강 그려서 pdf로 저장해서 논문에 넣는다. 그런데 그 습관이 잘못(?) 들었다가 저널에 논문을 제출하면, 저널의 자체 프로그램에 pdf를 input으로 쓸 수 없다고 하며 pdf를 전부 eps나 png 파일로 변경해라고 요청이 온다. ㅜ

// 담당 선생님으로 받은 메일의 일부. 미리 eps나 png로 그릴걸...
.
.
.
Figure가 EPS, TIF, PNG, 또는 JPG 등 그림 파일 형식으로 되어있으면 문제가 없지만,

PDF 형식으로 되어있을 경우 논문 발행 후 Springer에서 업로드를 할 때 오류가 생긴다고 합니다.

그래서 다소 번거로우시겠지만 EPS, TIF, PNG, 또는 JPG 파일로 변환을 부탁드립니다.
.
.
.

늘 이것 때문에 하루~이틀 정도 시간을 날리는 것 같아서, 시간이 아까워서 다시는 그러지 않아야겠다고 다짐을 해본다… 사실 그림을 inkscape로 그린 후, svg 파일로 저장해뒀다가 png나 eps로 변환하는 것이 베스트라고 생각한다 (일러스트레이터도 좋지만 inkscape를 쓰면 Ubuntu에서 Window로 듀얼부팅할 필요가 없어져서 시간을 많이 아낄 수 있다. Inkscape 짱짱!).

무튼 이미 확장자를 .pdf로 이미 그려버린 걸 어찌하겠는가? 간단히 ghostscript 명령어를 통해 이를 해결할 수 있었다.

gs -sDEVICE=eps2write -o output.eps input.pdf

만약 폴더 내에 있는 모든 pdf 파일을 eps로 변환하고 싶다면, 아래의 스크립트 복사해서 pdf2eps.sh 파일을 만든 후, bash pdf2eps.sh를 실행시키면 된다.

#!/bin/bash

# 변환할 폴더 경로 설정 (이 예제에서는 현재 폴더를 사용)
FOLDER="."

# PDF 파일에 대한 반복 처리
for pdf in "$FOLDER"/*.pdf; do
  # PDF 파일의 이름을 가져옴 (확장자 제외)
  base_name=$(basename "$pdf" .pdf)

  # EPS 파일로 변환
  gs -sDEVICE=eps2write -o "$FOLDER/$base_name.eps" "$pdf"
done

echo "모든 변환 작업 완료."

사실 pdf도 이미 vector의 포맷으로 정보를 가지고 있는데, 굳이 eps로 변환해야할 이유를 잘 모르겠다…홈페이지 상에서 image를 불러올 때 pdf를 지원해주지 않는듯 하다. (근데 또 arXiv에 업로드할 때는 eps 포맷으로 내면 pdf로 내라며 error 메세지가 뜬다…하나로 통일해줬으면 ㅜ)

근데, 일부는 잘 동작하는데, 가끔 용량이 엄청 큰 eps 파일이 생성되는 경우가 있다. 그래서 나는 귀찮지만 pdf를 Inkscape로 엶 → svg파일로 일단 저장 → png나 eps로 변환하는 방법을 사용한다. 이러한 변환 관련하여 더 자세히 알고싶으면 다음 글을 읽어보기를 추천한다.