Mac OS X:ファイル名に従ってPDFファイルをディレクトリにマージする方法


30

ファイル名に応じて、ディレクトリ内の数百のpdfファイルを自動的にマージします。

例えば

ファイル 1000.2.pdfの1000.3.pdfの1000.x.pdf 1000.1.pdfはにマージする必要があります1000.pdf

そして

2000.abc.pdf 2000.def.pdf 2000.ghi.pdf 2000.jkl.pdf 2000.5.pdfから2000.pdfへ

Adobe AcrobatやPDFpenなどのサードパーティソフトウェアと比較して、PDFファイルを頻繁に(ソースドキュメントに応じて)マージすると、ファイルサイズが大幅に増加するため(プレビューなど)、Automatorに基づくソリューションは使用しません。プレビューで保存するとPDFファイルのサイズが大きくなるのはなぜですか?

何かお勧めはありますか?ありがとうございました!


PDFを組み合わせると、常にファイルサイズが大きくなりますが、それに関する問題は何ですか?
nohillside

1
@patrixマージする数百のファイルについて話しています。そこにすることができ、上記リンクとして重要なのMac OS Xの理由に含まれる異なるツールを使用して、ファイルサイズの増加私は時々の大型化とマージされたテキストファイル望むならば、数百パーセント
レジョネット

2
@patrix、lejone8はPDFファイルの自動マージを希望していますが、1 + 1 = 5ではなく1 + 1 = 2の比率ですか?ファイルサイズ以上。さらにlejonet8は、サードパーティ製品と比較してパフォーマンスが低いため、Apple製品の使用は受け入れられないことを明確に指摘しています!あなたが私のコメントを削除する理由がわかりませんが、そうしてください。
ラスケ

1
オートメーションリクエストがわかりません。ファイルを名前で整理(ソート)し、目的のカテゴリですべてを選択し、ここで回答したような利用可能なプログラムまたは他のプログラムで一度クリックするだけでマージを実行するのは非常に簡単で高速です。結果のファイルサイズはPDFファイルのタイプとコンテンツに依存するため、1 + 1 = 2は使用できません。lejonet8は、Appleプログラムが他のプログラムよりも大きなpdfファイルを作成する理由について議論しているようです。それに答えて頑張ってください。
ラスケ

2
質問編集して、「自動化された」とはどういう意味かを詳しく説明してください(問題の解決策を提案するのに時間を費やした人々にとっては異なることを意味するようです)。ドキュメントのマージをトリガーするものは何ですか?一致するファイルを見つけるには、どのパターンを使用する必要がありますか?特に、DWの回答は一見高度に自動化されているように見えますが、おそらく私たちが今知っている以上の質問があります。
nohillside

回答:


25

pdftkを試してください。これは、PDFファイルに結合できるコマンドラインソフトウェアです(また、他の多くの機能も実行できますが、ここでは関係ありません)。公式のpdftk Webページからダウンロードできます

サンプル構文:

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

ファイルが作成されますnew.pdfファイルの連結が含まれold1.pdfold2.pdfold3.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

コメントありがとうございます。しかし、私のニーズのワークフローはどこにあるのかわかりません(これらの名前に従ってマージされた類似した名前の何百ものファイル)。
レジョネット

1
@ lejonet8、それはまさにコマンドラインツールが輝くところです!回答を編集して、その方法の例を示しました。詳細については、おそらくこの質問の範囲外であり、シェルスクリプトの記述方法に関するものです。
DW

ご回答ありがとうございます。:残念ながら、それは、このエラーメッセージが表示されました私のファイル上でそれを実行している1000.pdf:エラー:ページ範囲の終わりに予期しないテキスト、ここに
lejonet

1
@ lejonet8たぶん、質問でもう少し自動化の要件を詳しく説明できます。「フォルダアクション」などを探していますか?そもそも連結プロセスをトリガーするものは何ですか?
nohillside

3
@ lejonet8、pdftkを機能させる方法を確認するには、少し実験する必要があるかもしれません。コンテキストのない1つのエラーメッセージでは、残念ながら問題を診断するには不十分です。ファイルのいくつかのペアを連結してみてください。実験。pdftkが動作する/動作しない場合とその原因を診断できるかどうかを確認します。チュートリアルを読んでください。次に、適切なStack Exchangeサイトまたは他の質問と回答サイトにpdftkを機能させるための質問を投稿します。FWIW、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のマージには違いがあるかもしれません)。ソースファイルによっては、ファイルサイズも大幅に増加する場合があります。私はそれをもう一度テストし、合計サイズが12 mbの4つのファイルを32 mbドキュメントに結合しました。これは受け入れがたい。
レジョネット

申し訳ありませんが、それを助けることはできません。
akuhn

4
次のように、このコマンドをエイリアスとして~/.bash_profileファイルに追加しました。alias catpdf="/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py --output all.pdf *.pdf"そのためcd、PDFを含むディレクトリに移動してを実行できcatpdfます。
スチュワートマクドナルド

2
APPに隠されたPythonスクリプトの巧妙な使用に賛成です!しかし、より堅牢なソリューションのためにpdftkを使用することにしました。
ブレアグ23

1
@lejonet技術的な背景は、ご想像のとおり、両方とも同じフレームワーク(10.11のQuartz.CoreGraphics)を使用していることです。これは、 `join.py 'スクリプトの最初の行(インポートステートメント)から確認できます。
hans_meine

8

あなたはpdfunite分散で使用することができますpopplerpopplerHomebrewでインストールできます:

brew install poppler

そして今それを使用します:

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

popplerまた、これらの他のコマンドが付属しています:pdfdetachpdffontspdfimagespdfinfopdfseparatepdftocairopdftohtmlpdftoppmpdftopspdftotext、に加えて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.