PDF를 다중 이미지(png,jpg)로 변환

PDF를 다중 이미지(png,jpg)로 변환

나는 링크를 읽었다:https://www.overleaf.com/blog/613-tip-of-the-week-how-to-convert-typeset-pdf-pages-into-raster-image-formats

저는 Texmarker 5.0.3을 사용합니다. main.pdf를 다중 이미지(각 페이지 = 하나의 이미지)로 변환할 수 있습니까?

예제 코드:

\documentclass[11pt]{article}
\usepackage{blindtext}
%\usepackage{tikz}
\usepackage{tcolorbox}

\begin{document}

\blindtext

\begin{tcolorbox}[width=\textwidth,height=5cm]

ABC DEF

\end{tcolorbox}

\blindtext

\newpage
\clearpage
\blindtext

\begin{tcolorbox}[width=\textwidth,height=5cm]

XXX YYY

\end{tcolorbox}
\blindtext

\end{document}

미리 감사드립니다

답변1

(완전한) TeXLive 배포판에는 일부 옵션(예: 내 Windows 컴퓨터에서 ) pdftoppm과 함께 PDF를 PNG로 변환할 수 있는 흥미로운 유틸리티가 있습니다 . C:\texlive\2018\bin\win32\pdftoppm.exe부인할 수 없는 장점은 아무것도 설치할 필요가 없다는 것입니다.

cmd를 사용하여 실행하면 pdftoppm -help유틸리티 작동 방식을 알려주는 다음 출력이 표시됩니다.

여기에 이미지 설명을 입력하세요

따라서 다음과 같이 작성하면 충분합니다.

C:\path\to\my\PDFfile pdftoppm -f 1 -l 2 -r 300 -png Name_Of_My.pdf My_Images

LaTeX( )에서 생성된 두 페이지 PDF 출력을 Name_Of_My.pdf별도의 이미지 파일로 변환합니다 My_Images-1.png. My_Images-2.png여기서 생성된 PNG 파일의 접두사 이름( My_Images)은 위 명령줄의 마지막 부분에서 나옵니다.

위 MWE의 PNG 출력은 ​​다음과 같습니다.

여기에 이미지 설명을 입력하세요

답변2

내가 올바르게 이해했다면 PDF-> 이미지 단계는 LaTeX에 의해 수행되지 않고 convert(일부) 에 대한 외부 호출에 의해 수행됩니다.ImageMagick 제품군). 그럼 주제에서 벗어난 내용일 수도 있지만...

기본적으로 일단 설치하고 나면 다음 명령을 사용할 수 있습니다(적어도 Linux에서는 다른 OS에서도 마찬가지일 것이라고 생각합니다).

 convert -density 300 -background white -alpha remove -alpha off pdf-file.pdf page.png 

그러면 페이지는 300dpi로 이름이 지정 page-0.png됩니다 page-1.png.

최신 버전에는 convert문제가 있을 수 있습니다. 꼭 읽어보세요https://stackoverflow.com/questions/42928765/convertnot-authorized-aaaa-error-constitute-c-readimage-453그리고https://github.com/ImageMagick/ImageMagick/issues/396그런 다음 오류가 있으면 /etc/ImageMagick-6/policy.xml다음과 같이 편집하세요.

  <policy domain="resource" name="memory" value="4GiB"/>
  <policy domain="resource" name="map" value="4GiB"/>
  <policy domain="resource" name="width" value="128KP"/>
  <policy domain="resource" name="height" value="128KP"/>
  <policy domain="resource" name="area" value="1.28GP"/>
  <policy domain="resource" name="disk" value="8GiB"/>

  <policy domain="coder" rights="read|write" pattern="PS" />
  <policy domain="coder" rights="read|write" pattern="EPS" />
  <policy domain="coder" rights="read|write" pattern="PDF" />
  <policy domain="coder" rights="read|write" pattern="XPS" />

원본 파일에서는 제한 rightsnone훨씬 낮아서 중간 크기 PDF 파일의 실행이 방해됩니다.

답변3

나는 pdftoppm(포플러 도구)가 imagemagick/convert보다 더 나은 품질로 훨씬 더 효율적이라는 것을 알았습니다(convert로 너무 높은 품질을 설정하면 충돌이 발생합니다). 예를 들어 다음을 수행할 수 있습니다.

pdftoppm -jpeg -r 300 -scale-to-x 1920 -scale-to-y 1080 yourfile.pdf output-prefix

output-prefix-01.jpg, ... 등의 이미지가 많이 생성됩니다 . output-prefix-02.jpg(0의 개수는 파일 개수에 따라 결정됩니다.)

관련 정보