생성 날짜를 기준으로 jpg를 정렬하고 단일 PDF로 변환

생성 날짜를 기준으로 jpg를 정렬하고 단일 PDF로 변환

Mac에서는 터미널을 통해 jpg생성 날짜(예: )를 기준으로 stat -f %SB약 2400개의 파일을 정렬 하고 해당 순서대로 하나의 PDF로 변환하려면 어떻게 해야 합니까?

오늘 오후 11시 10분에 하나가 생성 되고 , 같은 분 안에 오후 11시 10분에 두 번째 하나가 생성된다면 jpg어떻게 될까요 ? 생성 날짜에 고려할 수 있는 초가 있습니까?

답변1

파일 시스템에 따라 다릅니다. 예를 들어 내 호스트에서는 네 번째 확장 파일 시스템(ext4)을 사용하므로 stat파일을 보고합니다.

$ touch foo; stat foo; rm foo
  File: 'foo'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fc00h/64512d    Inode: 262155      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/   ownerusername)   Gid: ( 1000/   ownerusername)
Access: 2017-06-21 14:28:16.150323827 -0700
Modify: 2017-06-21 14:28:16.150323827 -0700
Change: 2017-06-21 14:28:16.150323827 -0700
 Birth: -

따라서 마지막 수정 시간을 다음과 같이 사용할 수 있습니다.시간을 만든다는 것은 다소 잘못된 이름입니다..

find /path/to/images -type f -print0 -name \*.jpg | xargs -0 stat -c "%y|%n" | sort | awk -F'|' '{print $2}'

이 다소 번거로운 구조는 마지막 수정 시간을 기준으로 정렬된 파일 목록을 제공합니다( |해당 이름에 파일이 없는 경우).

이 목록을 검토한 후에는 Imagemagick의 convert도구를 사용하여 PDF를 결합할 수 있습니다.

convert <<list of files>> outputfile.pdf 

또는 한 번에 모든 작업을 수행하세요.

convert $(find /path/to/images -type f -print0 -name \*.jpg | xargs -0 stat -c "%y|%n" | sort | awk -F'|' '{print $2}') outputfile.pdf

답변2

ImageMagick의 간단한 명령줄이 convert저에게 효과적입니다.

다음 명령줄(14개의 png 파일이 있는 디렉터리)로 테스트했는데 pdf 파일에는 페이지당 하나의 그림이 있습니다.

convert  *.png out-parrot.pdf

하지만 일부 버전에는 문제가 있을 수 있습니다.convert

convertParrot 4.4 버전에서는 예상대로 작동합니다.

$convert --version
Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org

convert하지만 Ubuntu 18.04.1 LTS 버전에서는 작동하지 않습니다.(2019년 2월 기준)

$ convert --version
Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org

이 버전은 PDF 파일에 쓸 수 있는 "인증되지 않음"입니다.

$ convert  *.png out-ubuntu.pdf
convert-im6.q16: not authorized `out-ubuntu.pdf' @ error/constitute.c/WriteImage/1037.

$ apt-cache policy imagemagick
imagemagick:
  Installed: 8:6.9.7.4+dfsg-16ubuntu6.4
  Candidate: 8:6.9.7.4+dfsg-16ubuntu6.4
  Version table:
 *** 8:6.9.7.4+dfsg-16ubuntu6.4 500
        500 http://se.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
        100 /var/lib/dpkg/status
     8:6.9.7.4+dfsg-16ubuntu6 500
        500 http://se.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

Ubuntu 메일링 리스트를 통해 다음과 같은 답변을 받았습니다. (ImageMagick 취약점 문제로 인해 PDF로의 변환이 꺼졌습니다.)

이것은 특히 Ubuntu 18.04 LTS의 ImageMagick 변환 버그입니까, 아니면 의도적으로 pdf로의 변환이 꺼진 것입니까?

이러한 변경은 의도적인 것입니다. 바라보다https://usn.ubuntu.com/3785-1/

고마워요, 제레미 비차

답변3

ImageMagick을 설치합니다. JPG 이미지가 있고 ~/images파일 이름에 공백(또는 \[*?)이 포함되어 있지 않으며 디렉토리가 있다고 가정합니다 ~/combined.

convert -combine -append $(ls -tr ~/images/*.jpg) ~/combined/all.jpg

또는

  convert -combine -append $(ls -tr ~/images/*.jpg) ~/combined/all.pdf

이미지의 크기가 다른 경우 경고가 표시됩니다. -append이미지를 위에서 아래로 결합합니다. 로 변경 +append하면 이미지가 왼쪽에서 오른쪽으로 병합됩니다.

시간: ls -l표시된 시간은 시간:분 단위로 정확하지만 Linux는 액세스, 수정 및 수명/변경 시간을 나노초까지 추적한다고 생각합니다. 따라서 정렬에는 ls -tr몇 분의 1초가 걸립니다.

관련 정보