이미지를 PDF로 일괄 변환하는 방법은 무엇입니까?


10

이미지 (jpg, png 등)를 PDF로 일괄 변환하고 싶습니다. 다음을 사용하여 PDF로 직접 변환하는 것이 쉽습니다.

convert in.jpg out.pdf

그러나 출력 페이지 크기, 여백 및 가로 및 세로 형식 간 회전 설정과 같은 추가 옵션이 필요합니다. 시행 착오 후에 나는 다음을 생각해 냈습니다.

convert -rotate "90>" -page A4+0+0  -gravity center in.jpg  out.pdf

이미지를 A4 페이지의 가운데에 놓고 가로와 세로 사이에서 자동으로 회전하지만 595x842 미만의 작은 이미지에서만 작동합니다. 595x842가 A4 페이지에 할당 된 픽셀의 해상도 인 것처럼 보이기 때문에 더 큰 이미지가 끊어집니다. 인터넷을 둘러 보면 -density옵션이 A4 페이지의 픽셀 수를 늘리는 잠재적 인 해결책 일 수 있지만 작동시키지 못했습니다.

Imagemagick 이외의 솔루션도 물론 환영합니다.

답변:


8

한 가지 해결 방법은 이미지 생성과 PDF 변환을 분할하는 것입니다. 먼저 이미지를 convertA4 @ 300dpi (예 : 3508x2479)로 변환 한 다음 sam2p를 사용하여 PDF로 변환 한 다음 sam2p_pdf_scale을 사용하여 A4로 변환하십시오.

convert -rotate "90>" -scale 3508x2479 -border 64x64 -bordercolor white in.png out.png
sam2p out.png out.pdf
sam2p_pdf_scale 595 842 out.pdf

편집 : 더 완전한 스크립트 :

#!/bin/sh

A4_WIDTH=2479
A4_HEIGHT=3508

H_MARGIN=64
V_MARGIN=64
WIDTH=$((${A4_WIDTH} - ${H_MARGIN} * 2))
HEIGHT=$((${A4_HEIGHT} - ${V_MARGIN} * 2))

for i in "$@"; do
    TMP="/tmp/$(uuidgen).png"
    echo "$i"
    convert \
        -rotate "90>" \
        -scale "${WIDTH}x${HEIGHT}" \
        -border "${H_MARGIN}x${V_MARGIN}" -bordercolor white \
        -gravity center \
        -extent "${A4_WIDTH}x${A4_HEIGHT}" \
        -gravity center \
        -font helvetica -pointsize 80 \
        -fill white -draw \
        "push graphic-context
         translate $((${A4_WIDTH}/2 - 160)), 0
         rotate 90
         text -2,-2 '$i'
         text -2,2 '$i'
         text 2,-2 '$i'
         text 2,2 '$i'
         pop graphic-context
    " \
        -fill black -draw \
        "push graphic-context
         translate $((${A4_WIDTH}/2 - 160)), 0
         rotate 90
         text 0,0 '$i'
         pop graphic-context
    " \
        "$i" "$TMP"
    sam2p "$TMP" "${i}.pdf"
    sam2p_pdf_scale 595 842 "${i}.pdf"
done

# EOF #

2

다른 답변 보다 조금 더 깨끗합니다 .

ls *.jpg | sed -r 's/(.*)\.(\w{3,4})/\1.\2 \1.pdf/' | xargs -n2 sam2p 2>&1 | grep OutputFile | perl -pe 's/.*: //' | xargs pdfjoin --outfile out.pdf

http://convertjpgpdf.net 에서 실제로 사용 하십시오 .


이것은 아름답게 작동합니다! 감사! 연결되지 않은 "임시"PDF를 제거 할 수 있습니까?
Rasmus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.