雜事太多,一直忙來忙去沒時間寫點正經的東西。最近寫了個工具,用于比較兩個PDF文件的不同,把差異點標出來。
后端用Poppler解析PDF文件,然后比較,生成三個html,可用Chrome或Firefox(Edge和IE就悲劇了)打開。
查看不同點。
這Poppler雖說免費開源,但Bug無數,真心難用。唉,看在不花錢的份上,忍了...

源代碼量3萬行的樣子,運行依賴33個dll,算法有點復雜,雖然距離我的意愿依舊遙遠,但總算見到雛形了。

下面的截圖是簡單的比較了兩個PDF文件的結果,鼠標點擊最右欄就能標出來且能自動對齊變更點,添加或者刪除的能對應原始位置。



下面是個文字變更的邏輯對齊部分截圖。文字屬性有變更的地方鼠標放上去能彈出不同之處,黑底綠字。



下面是單獨比較光柵圖片的截圖,鼠標點擊最右欄能自動對齊,添加或刪除的則能對應到原始位置,圖片變更的會標出所有變更點。


大致就如同前面三個截圖的樣子(目前缺矢量圖的比較),應該能滿足一般的PDF文檔比較需求了。

諸位過客可以下載一個簡單用例到上,解壓[可以考慮7z]Chrome(或者Firefox,別用Edge和IE)
瀏覽器打開看看效果。
在這里下載/Files/Chipset/test.zip

以上附件很小,麻雀雖小五臟俱全,該有的東西基本都有,可以比較的單個PDF文件1000頁以上,且速度很快。
以上展示內容用的文字后貼背景頁面格式,將來
[升級中]解析PDF用BSD協議的pdfium替換GPL協議的Poppler,
頁面展示借助PDF.js,但不再用文字和貼背景這種辦法,再接下來做個單機界面,不再用瀏覽器,算是升級方向吧。

關于比較工具,下面多說幾句。
做內容比較的工具
Draftable很成功,用C#寫的,可以比較Office和PDF文件,各格式任意混比,只能比文字。
我的只能比PDF文件,比較內容是文字和光柵圖,有個Kiwi free pdf comparer類似,只不過需要Java運行環境。
此外,ABBY的Fine Reader和Adobe的Acrobat也都有比較功
能,只不過精度和速度都明顯弱一些。至于視覺
比較的工具,由于跟位置有關,大多數場合幾乎等同于廢物,這種網上一搜一大把,很多免費。純文本內容的比較
工具就更多了,網上一搜一大堆,這里就不必啰嗦了。