Mac OS X : 파일 이름에 따라 PDF 파일을 디렉토리에 병합하는 방법


30

파일 이름에 따라 수백 개의 pdf 파일을 디렉토리에 자동으로 병합하고 싶습니다 .

예 :

파일 1000.1.pdf 1000.2.pdf의 1000.3.pdf의 1000.x.pdf은 에 병합해야 1000.pdf

2000.abc.pdf 2000.def.pdf 2000.ghi.pdf 2000.jkl.pdf 2000.5.pdf2000.pdf로 .

Adobe Acrobat 또는 PDFpen과 같은 타사 소프트웨어와 비교하여 pdf 파일을 자주 병합하는 (소스 문서에 따라) 파일 크기가 크게 증가하기 때문에 Preview / Automator (사용 가능한 경우) 기반 솔루션을 사용하고 싶지 않습니다 (예 : 참조). 미리보기로 저장할 때 PDF 파일 크기가 증가하는 원인은 무엇입니까? )

추천 사항이 있습니까? 고맙습니다!


PDF를 결합하면 파일 크기가 항상 증가합니다. 정확히 무엇이 문제입니까?
nohillside

1
@patrix 병합 할 수백 개의 파일에 대해 이야기하고 있습니다. 위에 링크 된 것처럼 Mac OS X에 포함 된 다른 도구를 사용하여 파일 크기가 크게 증가 할 수 있습니다. 왜 때로는 수백 퍼센트 크기로 병합 된 텍스트 파일을 원해야 합니까?
lejonet

2
@patrix, lejone8은 PDF 파일을 자동으로 병합하고 싶지만 1 + 1 = 5가 아닌 1 + 1 = 2 비율입니까? 파일 크기 이상. 또한 lejonet8은 타사 제품에 비해 성능이 저하되어 Apple 제품을 사용할 수 없음을 분명히 지적합니다! 왜 내 의견을 삭제했는지 모르겠지만 그렇게하십시오.
Ruskes

1
자동화 요청을 이해하지 못합니다. 이름별로 파일을 정리 (정렬) 한 다음 원하는 범주에서 모두를 선택하고 여기에 답변 된 것과 같은 사용 가능한 프로그램 중 하나를 클릭하면 병합을 수행 할 수 있습니다. 결과 파일 크기는 PDF 파일의 유형과 내용에 따라 다르므로 1 + 1 = 2는 불가능합니다. lejonet8은 Apple 프로그램이 다른 것보다 더 큰 pdf 파일을 생성하는 이유에 대한 논쟁에 매달린 것 같습니다. 그 대답에 행운을 빕니다.
Ruskes

2
당신이 만족 할 수 편집 질문 자세한 내용에 당신을 위해 무엇을 "자동"방법을 서술하기를 (당신의 문제에 대한 해결책을 제시 할 수있는 시간이 걸렸습니다 사람들을 위해 다른 것을 의미하는 것)? 문서의 병합을 유발하는 요소는 무엇입니까? 일치하는 파일을 찾기 위해 어떤 패턴을 사용해야합니까? 특히 DW의 대답은 언뜻보기에 자동화 된 것처럼 보이지만 현재 알고있는 것보다 더 많은 질문이있을 수 있습니다.
nohillside

답변:


25

pdftk를 사용해보십시오 . PDF 파일을 결합 할 수있는 명령 줄 소프트웨어이며 다른 많은 작업도 수행하지만 여기서는 관련이 없습니다. 공식 pdftk 웹 페이지에서 다운로드 할 수 있습니다 .

샘플 구문 :

pdftk old1.pdf old2.pdf old3.pdf cat output new.pdf

파일이 생성됩니다 new.pdf파일의 연결을 포함 old1.pdf, old2.pdf, old3.pdf.

예제 파일 이름으로 문제를 해결하려면 :

pdftk 1000.*.pdf cat 1000.pdf
pdftk 2000.*.pdf cat 2000.pdf

등등. 원하는 경우 쉘 스크립팅을 사용하여이를 완전히 자동으로 만들 수 있습니다 (그러나 쉘 스크립트 작성 방법을 배우는 데 약간의 시간을 소비해야합니다).


모든 파일의 이름이 1000.x, 2000.x 등이라고 가정하면 쉘 스크립트는 다음과 같이 보일 수 있습니다.

#!/bin/bash

for n in {1..9}; do
    if [[ -r ${n}000.1.pdf ]]; then
        rm -f ${n}000.pdf
        pdftk ${n}000.*.pdf cat ${n}000.pdf && mv ${n}000.*.pdf ~/.Trash/
    fi
done

귀하의 의견에 감사드립니다.하지만 어디에 필요한지 워크 플로가 어디인지는 알 수 없습니다 (유사한 이름을 가진 수백 개의 파일이 이러한 이름에 따라 병합 됨).
lejonet

1
@ lejonet8, 이것이 바로 명령 줄 도구가 빛나는 곳입니다! 그 방법을 보여주는 예제를 제공하기 위해 답변을 편집했습니다. 추가 세부 사항을 해결하는 것은 아마도이 질문의 범위를 벗어 났으며 쉘 스크립트를 작성하는 방법과 더 관련이 있습니다.
DW

답변 주셔서 감사합니다. 불행히도 내 파일에서 실행하면 다음과 같은 오류 메시지가 나타납니다. 오류 : 예기치 않은 페이지 범위의 텍스트가 여기에 있습니다. 1000.pdf
lejonet

1
@ lejonet8 아마도 자동화 요구 사항을 좀 더 정교하게 다룰 수있을 입니다. "폴더 작업"과 같은 것을 찾고 있습니까? 우선 연결 프로세스를 시작하는 요인은 무엇입니까?
nohillside

3
@ lejonet8, pdftk가 어떻게 작동하는지 확인하려면 약간의 실험을해야 할 수도 있습니다. 문맥이없는 오류 메시지 하나만으로도 문제를 진단하기에 충분하지 않습니다. 파일 쌍을 연결해보십시오. 실험. pdftk가 작동하지 않거나 작동하지 않는시기와 원인을 진단 할 수 있는지 확인하십시오. 튜토리얼을 읽으십시오. 그런 다음 적절한 Stack Exchange 사이트 또는 기타 질문과 대답 사이트에 pdftk를 작동시키는 방법에 대한 질문을 게시하십시오. Fpdf, pdftk는 많은 다른 프로그램에서 생성 된 다양한 pdf 파일로 작업하면서 매우 안정적이었습니다. 물론 경험이 다를 수 있습니다.
DW

52

Automator.app 에는 .PDF 파일을 결합 하는 Python 스크립트가 숨겨져 있습니다.

/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py --help
Usage: join [--output <file>] [--shuffle] [--verbose]

사용법 예 :

/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py --output all.pdf *.pdf

2
답변 주셔서 감사합니다. 기술적 배경에 대해서는 언급 할 수 없습니다 (Automator와 Preview에서 병합하는 데 차이가있을 수 있음). 소스 파일에 따라 파일 크기도 크게 증가 할 수 있습니다. 방금 다시 테스트했으며 크기가 12MB 인 파일 4 개가 32MB 문서에 결합되었습니다. 용납 할 수 없습니다.
lejonet

죄송합니다. 도와 드릴 수 없습니다.
akuhn

4
나는이 명령을 내 ~/.bash_profile파일에 다음과 같이 별칭으로 추가했다 . alias catpdf="/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py --output all.pdf *.pdf"그래서 cdPDF가 들어있는 디렉토리에 넣고 실행할 수 catpdf있습니다.
스튜어트 맥도날드

2
APP에 숨겨진 Python 스크립트의 독창적 인 사용을지지합니다! 더 강력한 솔루션을 위해 pdftk를 사용하기로 결정했습니다.
Blairg23

1
@lejonet 기술적 배경은 추측 한 것처럼 둘 다 동일한 프레임 워크 (Quartz.CoreGraphics on 10.11)를 사용한다는 것입니다. 이것은`join.py '스크립트의 첫 줄에서 볼 수 있습니다 (import 문).
hans_meine

8

pdfunite배포하여 사용할 수 있습니다 poppler. popplerHomebrew와 함께 설치할 수 있습니다 .

brew install poppler

그리고 이제 그것을 사용하십시오 :

pdfunite input1.pdf input2.pdf input3.pdf output.pdf

poppler이러한 다른 명령과 함께 제공 : pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext,에 추가 pdfunite.


0

pdftk는 더 이상 El Capitan에서 작동하지 않습니다! (OS X 10.10)

대안은 PDFTron 의 페이지 마스터입니다. 구문은 다음과 같습니다.

pagemaster -m *.pdf -o output.pdf

사용자 정의 PDF 라이브러리를 사용하기 때문에 위의 Automator 솔루션의 파일 크기 증가 문제가 없습니다.

참고 :이 도구는 무료 도구가 아닙니다. 데모 버전은 각 페이지에 얇은 워터 마크를 추가합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.