PDF各1〜4ページのファイルがたくさんあります。これらのファイルごとに新しいファイルを自動的に生成するソリューションが必要です。新しいファイルには元のファイルの内容が含まれている必要があります。 2回(つまり、1ページ目から最後まで、同じ順序で同じページが続く)。
どうすればこれを達成できますか?
PDFtk (タグに従って使用しているようです)を使用したWindows用のソリューション:
これにより、PDFで、ページの1-endの後に再び1-endが続きます。
pdftk in.pdf cat 1-end 1-end output out.pdf
各ページを一緒に複製する場合(1,1,2,2、...のように)、次のバッチファイルを使用します。
@echo off
set pages=
setlocal enabledelayedexpansion
for /f "tokens=2" %%a in ('pdftk in.pdf dump_data ^| find /i "NumberOfPages"') do for /l %%b in (1,1,%%a) do set pages=!pages! %%b %%b
pdftk in.pdf cat!pages! output out.pdf
あなたが私のコメントの質問に答えれば、私はあなたにもっと良い解決策を与えるかもしれませんが、あなたの妻のために、ここにいくつかの提案があります。
ImageMagick は、画像操作用のクロスプラットフォームのコマンドラインツールです。インストールすると、そのconvert
ツールを使用して目的の操作を実行できるようになります。詳細は、オペレーティングシステムによって異なります。各ページが2倍になるのではなく、ファイル全体の2つのコピーが必要だと想定しています。
Linux/OSX/Unixなど
for n in *pdf; do convert -density 150 "$n" "$n" "$n"; done
これにより既存のファイルが上書きされます。最初にバックアップすることをお勧めします。
ウィンドウズ。これは少し間違っているかもしれません。私はWindowsを使用していないのでテストできませんが、一般的な考え方は次のようになります。
for %f in (*.pdf) do (convert.exe %f %f %f)
Linuxで各ページを(1,1,2,2、...のように)一緒に複製する場合は、次のスクリプトで実行します。
#!/bin/bash
INPUTFILE=$*
PAGENUM=`pdftk ${INPUTFILE} dump_data | grep NumberOfPages | cut -d : -f 2 | cut -d " " -f 2`
PAGES=`seq 1 ${PAGENUM}`
DUPAGES=`for i in ${PAGES} ; do echo $i $i | tr "\n" " " ; done`
OUTPUT=`basename ${INPUTFILE} .pdf`.dup.pdf
pdftk ${INPUTFILE} cat ${DUPAGES} output ${OUTPUT}
Pdftkがインストールされていないが、poppler-utilsがある場合は、次のコマンドを使用します。
for f in *
do
pdfjoin $f $f
done
これは、pdftkがリポジトリで利用できなくなったFedora21に特に関係があります。
簡単な使用法pdfunite
。これはおそらく、スクリプトの知識が増えるとさらに単純化できます。
最後の引数は結果のファイルですであることに注意してください。それを忘れると、このファイルは上書きされます。
pdfunite 1.pdf 2.pdf 3.pdf 4.pdf result.pdf
pdfunite result.pdf result.pdf result.pdf 3-times-result.pdf