1〜4ページのPDFファイルがたくさんあります。これらのファイルごとに新しいファイルを自動的に生成するソリューションが必要です。新しいファイルには、元のファイルのコンテンツが2回含まれている必要があります(つまり、1ページ目から最後まで、同じページが同じ順序で続きます)。
どうすればこれを達成できますか?
1〜4ページのPDFファイルがたくさんあります。これらのファイルごとに新しいファイルを自動的に生成するソリューションが必要です。新しいファイルには、元のファイルのコンテンツが2回含まれている必要があります(つまり、1ページ目から最後まで、同じページが同じ順序で続きます)。
どうすればこれを達成できますか?
回答:
PDFtkを使用するWindowsのソリューション(タグに従って使用しているようです):
これにより、ページが1-endの後に1-endが再び続くPDFになります。
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
for %a in (*.pdf) do @pdftk "%~a" cat 1-end 1-end output "%~na (Duplicated)%~xa"
。各in.pdf(名前は何でもかまいません)の場合、対応するin(Duplicated).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)
for
ループが不足しているdone
と$n
、おそらく引用符で囲む必要があります。たぶん私はどのようにconvert
動作するのか見当がつかないのですがconvert
、同じファイルを3回渡すとどうなりますか 今はテストできません。
convert infile1 infile2 ... infileN outfile
です。したがって、同じファイルを3回渡すと、入力として2回受け取り、出力として同じファイルに書き込みます。1私はやったテストを:)。
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}