PDFtkを使用してPDFファイルの最後のページを削除する方法を教えてもらえますか?PDFtkを使用してPDFファイルの最後のページを削除しますか?
答えて
cat
操作を使用し、ページ範囲を指定します。
pdftk infile.pdf cat 1-r2 output outfile.pdf
あなたは(AFAICT)pdftkは1が「最後からのオフセット」を指定することはできないので、pdftkの猫の機能でこれを使用し、その後、ページ数を確認する必要があります。
Popplerの「pdfinfo」(http://poppler.freedesktop.org/)のようなツールでこれを実現できます。
簡単にこのプロセスを自動化することができますのbashスクリプトのビットでこれをラッピング:
page_count=`pdfinfo "$INFILE" | grep 'Pages:' | awk '{print $2}'`
page_count=$(($page_count - 1))
pdftk A="$INFILE" cat A1-$page_count output "$OUTFILE"
明らかに追加のパラメータ、エラーチェック、および何を-ないとも言えるスクリプトに入れることができます
#! /bin/sh
### Path to the PDF Toolkit executable 'pdftk'
pdftk='/usr/bin/pdftk'
pdfinfo='/usr/bin/pdfinfo'
####################################################################
script=`basename "$0"`
### Script help
if [ "$1" = "" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "-?" ] || [ "$1" = "/?" ]; then
echo "$script: <input-file.PDF> [<output-file.PDF>]"
echo " Removes the last page from the PDF, overwriting the source"
echo " if no output filename is given"
exit 1
fi
### Check we have pdftk available
if [ ! -x "$pdftk" ] || [ ! -x "$pdfinfo" ]; then
echo "$script: The PDF Toolkit and/or Poppler doesn't seem to be installed"
echo " (was looking for the [$pdftk] and [$pdfinfo] executables)"
exit 2
fi
### Check our input is OK
INFILE="$1"
if [ ! -r "$INFILE" ]; then
echo "$script: Failed to read [$INFILE]"
exit 2
fi
OUTFILE="$2"
if [ "$OUTFILE" = "" ]; then
echo "$script: Will overwrite [$INFILE] if processing is ok"
fi
timestamp=`date +"%Y%m%d-%H%M%S"`
tmpfile="/tmp/$script.$timestamp"
page_count=`$pdfinfo "$INFILE" | grep 'Pages:' | awk '{print $2}'`
page_count=$(($page_count - 1))
### Do the deed!
$pdftk A="$INFILE" cat A1-$page_count output "$tmpfile"
### Was it good for you?
if [ $? -eq 0 ]; then
echo "$script: PDF Toolkit says all is good"
if [ "$OUTFILE" = "" ]; then
echo "$script: Overwriting [$INFILE]"
cp -f "$tmpfile" "$INFILE"
else
echo "$script: Creating [$OUTFILE]"
cp -f "$tmpfile" "$OUTFILE"
fi
fi
### Clean Up
if [ -f "$tmpfile" ]; then
rm -f "$tmpfile"
fi
awkコマンドを使ってデクリメントを行うことができますが、スクリプトをいくらか簡略化することができます:grep Pages | awk '{printf( "%d"、$ 2 - 1); } 'これは$(($ page_count - 1))を冗長にします。 – Kingsley
'pdfinfo'は実際には必要ありません。' pdftk'は 'dump_data'サブコマンドのページ数を提供します:' NumberOfPages:8'という行を生成します。 – kebs
また、ページを知る必要はありません最後のページを削除するためにカウントします(少なくともpdftkバージョン1.45以上の場合)。 '1-r2'を使って、1ページ目から2ページ目までを指定できます。 'pdftk'の次の文書を参照してください。ページ番号は、文字の先頭にrを付けて逆順に参照できます。例えば、ページr1は文書の最後のページであり、r2は文書の最後のページの最後であり、rendは文書の最初のページである。このプレフィックスは範囲内でも使用できます。たとえば、r3-r1はPDFの最後の3ページです。 – Six
cpdfを使用すると、チルダを使用してドキュメントの終わりからどれだけ離れているか、先頭を参照できます。
あなたが複数のページを削除したい場合は、範囲を変更することができますので、我々は
cpdf in.pdf 1-~2 -o out.pdf
このようなツールを作成していただきありがとうございます。マジックのように動作します。私が望む唯一のもの:出力ファイルの "in.pdf"ファイルは自動的に改名されます(例えば、 "in_1--2.pdf"のように) – lanenok
私はまた、これはキットです!最初または最後のいくつかのページ(または他のもの)をトリミングすることは非常に簡単です。ソフトウェアの配布さえ完璧です。これは、単一の静的バイナリ(Linux 32、Linux 64、OSX、およびWindowsの場合)で構成されています。これには素晴らしいPDF文書も含まれています。私は前にソフトウェアに遭遇したことがないことに驚いています。おそらくオープンソースではないからです(私が理解しているものから非営利目的でのみ無料です)。 – Six
- 1. pdftkを使用して複数のpdfページを特定のpdfページにマージ
- 2. Pythonを使用してPDFファイルからページを削除するには?
- 3. フォルダ内のすべてのファイルを削除しますが、最後のファイルは削除しますか?
- 4. sedを使用して最後のコンマを削除する
- 5. Pythonを使用してCSVファイルの最後の列を削除または削除
- 6. pdfのすべてのnページ目を削除します
- 7. AIX:ファイルから最後のシンボル(CRLF)を削除します。
- 8. pdftk-phpを使用してパスワードでPDFを保護
- 9. if文を使用してシェルスクリプトを使用してファイルから最初の行を削除します。
- 10. pdftk分割pdf複数のページで
- 11. CSVファイルの最後の空白行を削除します
- 12. PDFClownを使用してPDFファイルからオブジェクトを削除する方法
- 13. Aspose.PDFライブラリを使用してPDF文書からテキストを削除しますか?
- 14. Powershellファイルを削除しても最後のxバージョンを保持
- 15. .htaccessを使用してクエリパラメータから最後のスラッシュを削除する
- 16. Codeigniter:すべてのファイルを削除した後にディレクトリを削除します
- 17. Pandasパッケージを使用して最後の100k行を削除して既存のcsvファイルを作成する
- 18. Zend PDFを使用して最後のページに画像を描画しますか?
- 19. TIKAを使用してPDFファイルの最初の数ページを読む方法
- 20. htaccessファイルを使用してURLのハッシュを削除します。
- 21. Webサービスを使用してPDFを表示した後にファイルを削除する
- 22. PHPを使用してPDFファイルからページを抽出する
- 23. 豚スクリプトを使用してファイルの最初と最後の行を削除する
- 24. フォルダを削除しますが、フォルダ内の最後のファイルを削除します。
- 25. SQL Serverを使用してIPの最後のオクテットを削除する
- 26. 最後のハイフンの後の文字列を削除します
- 27. 正規表現を使用してCSVファイルから最後の行を含む「文字列」を削除する
- 28. ファイル(ファイル拡張子)の最後の3文字を削除します
- 29. Google Map Androidから最後のポリラインラインを削除しますか?
- 30. UILabelから最後の値を削除しますか?
を行うことができ、例えば、 '1-r3'は、すべての最後の2つのページに過ぎません。 – mlissner