Zephyrnet-logotyp

Jämför PDF-filer visuellt

Datum:

Ibland verkar ett problem svårt, men rätt insikt kan göra det enkelt. Om du blev ombedd att skriva ett program för att jämföra två PDF-filer och visa skillnaderna, hur svårt tror du att det skulle vara? Om du är [serhack], kommer du att klara det mycket enklare än du kan gissa.

Att ibland göra något enkelt beror förstås på att göra förenklade antaganden. Om du förväntar dig ett "diff-liknande" verktyg som visar infogning och borttagning, är det inte vad som händer här. Istället ser du en bild av PDF-filen med ändringar markerade med en röd ruta. Detta är enkelt eftersom programmet använder tillgängliga verktyg för att rendera PDF-filerna som bilder och sedan helt enkelt jämför pixlar i de resulterande bilderna och ritar röda rutor över de delar som inte matchar.

Uppenbarligen är detta bäst för PDF-filer som bara har några få ändringar. Att infoga ett stycke, till exempel, gör utdata ganska värdelös. För det kan du överväga att extrahera texten från PDF-filen med något som pdf2text (som använder samma underliggande bibliotek som detta använder för att generera bilder).

Programmet skickar många meddelanden om saknade filer men verkar göra jobbet ändå. Här är resultatet av att jämföra två versioner av Hackaday-hemsidan som tagits med PDF med några minuters mellanrum:

Du kan dock se att om en ny artikel postades och allt sjönk ned med en, skulle du inte ha något annat än ett gigantiskt rött block.

Det är fortfarande en smart idé. Det finns förvånansvärt få verktyg där ute för detta, även om vi gjorde det hitta några andra. Det finns förstås gott om Linux-verktyg för att manipulera PDF-filer. Många av dem är det mashups av andra verktyg som den här är.

plats_img

Senaste intelligens

plats_img

Chatta med oss

Hallå där! Hur kan jag hjälpa dig?