Pdf
消除pdf中的重複頁面
我有一個 pdf 文件,其中 900 多頁文件中有 200 多個重複頁面。當有副本時,它會立即出現在原件之後。
也許
pdftk
可以完成這項工作,但我需要一些方法來找出重複項……
comparepdf
是一個用於比較 PDF 的命令行工具。退出程式碼是0
文件是否相同,否則為非零。您可以通過文本內容或視覺進行比較(例如掃描很有趣):comparepdf 1.pdf 2.pdf comparepdf -ca 1.pdf 2.pdf #compare appearance instead of text
所以你可以做的是分解PDF,然後成對比較並相應地刪除:
#!/bin/bash #explode pdf pdftk original.pdf burst #compare 900 pages pairwise for (( i=1 ; i<=899 ; i++ )) ; do #pdftk's naming is pg_0001.pdf, pg_0002.pdf etc. pdf1=pg_$(printf 04d $i).pdf pdf2=pg_$(printf 04d $((i+1))).pdf #Remove first file if match. Loop not forwarded in case of three or more consecutive identical pages if comparepdf $pdf1 $pdf2 ; then rm $pdf1 fi done #renunite in sorted manner: pdftk $(find -name 'pg_*.pdf' | sort ) cat output new.pdf
編輯:根據@notautogenerated 的評論,可能會選擇從原始文件中選擇頁面而不是統一單頁PDF。成對比較完成後,可以執行以下操作:
pdftk original.pdf cat $(find -name 'pg_*.pdf' | awk -F '[._]' '{printf "%d\n",$3}' | sort -n ) output new.pdf