मैं हाल ही में इन आवश्यकताओं के साथ ऐसा करना चाहता हूं (पीडीएफ को अलग करें):
- व्हाट्सएप, लाइन ब्रेक, पेज ब्रेक आदि को नजरअंदाज करें।
- आसानी से देखें कि जब सिर्फ एक दो शब्द बदल गए हैं, न कि पूरी लाइनें / अनुच्छेद।
- रंग अलग उत्पादन
मैंने विभिन्न पैकेज प्रबंधकों में उपलब्ध pdftotext, wdiff, और colordiff स्थापित किए हैं। (Macports के साथ: sudo port install poppler wdiff colordiff
)
फिर:
wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff
अब मैं देख सकता हूं कि कौन से शब्द, अच्छी तरह से रंगीन हैं, बदल गए हैं।
अधिक जानकारी: http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/
रूपांतर:
का उपयोग करते हुए dwdiff
थोड़ा बेहतर परिणाम दे सकते हैं।
मुझे HTML आउटपुट भी चाहिए था इसलिए यह छोटी स्क्रिप्ट सीएसएस के साथ एक बेसिक वेब पेज बनाती है।
bash pc-script.bash old.pdf new.pdf > q.htlm
फिर खोलें q.html
अपने वेब ब्राउज़र के साथ।
pc-script.bash
फ़ाइल:
#!/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
आउटपुट का एक उदाहरण देखा जा सकता है यहाँ