Saya ingin melakukan ini (beda PDF) baru-baru ini dengan persyaratan:
- abaikan spasi putih, pemisah baris, pemisah halaman, dll.
- dengan mudah melihat ketika hanya beberapa kata yang berubah, tidak hanya seluruh baris / paragraf.
- keluaran warna diff
Saya menginstal pdftotext, wdiff, dan colordiff, tersedia di berbagai manajer paket. (Dengan macports: sudo port install poppler wdiff colordiff
)
Kemudian:
wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff
Sekarang saya bisa melihat kata-kata mana yang berwarna indah, yang telah berubah.
Lebih detail: http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/
Variasi:
Menggunakan dwdiff
dapat menghasilkan hasil yang sedikit lebih baik.
Saya juga ingin output HTML sehingga skrip kecil ini membuat halaman web dasar dengan sedikit CSS.
bash pc-script.bash old.pdf new.pdf > q.htlm
Kemudian buka q.html
dengan browser web Anda.
pc-script.bash
mengajukan:
#!/bin/bash
OLD="$1"
NEW="$2"
cat <<EOF
<html><head><meta charset="UTF-8"/><title>Changes from $OLD to $NEW</title></head><style>
.plus { color: green; background: #E7E7E7; }
.minus { color: red; background: #D7D7D7; text-decoration: line-through; }
</style><body><h1>Changes from [ <span class="minus">$OLD</span> ] to [ <span class="plus">$NEW</span> ]</h1><pre>
EOF
dwdiff -i -A best -P \
--start-delete='<span class="minus">' --stop-delete='</span>' \
--start-insert='<span class="plus" >' --stop-insert='</span>' \
<( pdftotext -enc UTF-8 -layout "$OLD" - ) \
<( pdftotext -enc UTF-8 -layout "$NEW" - ) \
cat <<EOF
</pre></body></html>
EOF
Contoh output bisa dilihat di sini