명령줄에서 두 개의 PDF 파일을 나란히 병합

명령줄에서 두 개의 PDF 파일을 나란히 병합

페이지 수가 동일한 두 개의 PDF 파일이 있고 각 페이지를 다른 파일의 해당 페이지와 비교하고 싶습니다. 이를 위해 File1.pdf의 1페이지를 File2.pdf의 1페이지와 병합하여 새 문서에 한 페이지를 가져오고 싶습니다. 그런 다음 File1.pdf의 2페이지를 File2.pdf의 2페이지와 함께 새 파일의 2페이지로 만듭니다.

~ 안에이 질문--nup나는 다음 명령 옵션을 사용하여 한 페이지에 두 페이지를 넣을 수 있다는 것을 이미 배웠습니다 pdfjam.

pdfjam File1.pdf File2.pdf --nup 2x1 --landscape --outfile File1+2.pdf

패키지 를 사용해도 동일한 결과를 얻을 수 있습니다 ImageMagick.

montage *.pdf merged.pdf

그러나 이렇게 하면 첫 번째 파일의 1페이지와 2페이지가 합쳐지고 나중에 두 번째 파일에도 동일한 작업이 수행됩니다. 의도한 대로는 아닙니다.

내가 한 일은 두 문서를 분할하는 것입니다. 첫 번째 파일의 파일 이름은 짝수이고, 두 번째 파일은 홀수입니다(실제로는 적절한 파일 이름으로 파일을 새로 만들었습니다). 그런 다음 모든 파일을 다시 병합했습니다.

pdftk *.pdf cat output merged.pdf

마지막으로 한 페이지에 두 페이지를 넣습니다.

pdfjam --nup 2x1 --landscape --outfile merged2up.pdf merged.pdf

이 작업을 수행하는 루프를 사용하여 스크립트를 작성할 수 있지만 이를 달성하기 위한 쉬운 한 줄이 있는지 궁금합니다. 어쩌면 올바른 pdfjam, pdftk 또는 ImageMagick 명령을 찾지 못했을까요?

답변1

File1.pdf와 File2.pdf를 페이지로 분할한 다음 다음과 같이 해당 tmp 파일을 File1+2.pdf로 결합할 수 있습니다.

# Split files, note the naming scheme
pdfseparate File1.pdf temp-%04d-file1.pdf
pdfseparate File2.pdf temp-%04d-file2.pdf

# Combine the final pdf
pdfjam temp-*-*.pdf --nup 2x1 --landscape --outfile File1+2.pdf

# Clean up
rm -f temp-*-*.pdf

답변2

나는 이것을 사용할 것입니다 :

sudo apt install psutils 
sudo apt install ghostscript

pdf2ps -sOutputFile=input1file%d.ps input1file.pdf input1file.ps # cut to individual pages
pdf2ps -sOutputFile=input2file%d.ps input2file.pdf input2file.ps
psmerge -oinput.ps *.ps # put them together page by page from the alternative files
pstops -p a4 "2:[email protected](21cm,0)[email protected](21cm,14.85cm)" input.ps output.ps # put 2 pages on one
ps2pdf output.ps output.pdf # convert back to pdf

아마도 당신은 그 점을 높이 평가할 것입니다. 작고 빠르기 때문에 마음에 들지만 매뉴얼 페이지는 개선이 필요합니다. :-(

답변3

(OP에 필요한 것이 무엇인지 오해하지 않으면) 여기에 간단한 (r) 솔루션이 있습니다.

pdftk A=File1.pdf B=File2.pdf shuffle A B output tmp-Figure1+2.pdf
pdfjam tmp-Figure1+2.pdf --nup '2x1' --landscape --outfile Figure1+2.pdf
rm tmp-Figure1+2.pdf

를 사용하면 pdftk ... shuffle A B ...다음과 같은 중간 PDF 파일을 만들 수 있습니다.

File1-page1
File2-page1
File1-page2
File2-page2
. . . .

그런 다음 를 사용하여 pdfjam중간 파일의 홀수 페이지와 짝수 페이지를 병합합니다.

File1-page1 File2-page1
File1-page2 File2-page2
. . . .

방금이 솔루션을 생각해 내고 테스트했습니다.

답변4

A, 조금 늦었지만 다른 사람에게는 도움이 될 수 있습니다.

페이지를 나란히 표시하는 OP의 원래 접근 방식은 제공된 다른 답변을 통해 달성할 수 있습니다.

그러나 작은 텍스트 차이를 찾는 것이 목표라면 접근 방식이 어려울 수 있습니다. 이를 위해 pdfdiff를 사용하세요. 그 중 상업용, 오픈 소스, 명령줄 및 GUI 등 다양한 작성자의 PDFdiff가 있습니다.

https://duckduckgo.com/?q=pdfdiff&t=ffab&ia=software

이 접근 방식은 "동일한" 이미지가 다르게 인코딩될 수 있으므로 이미지에는 효과적이지 않습니다.

관련 정보