此 PDF 的簽名無效,因此我想將其刪除。有一些工具可以做到這一點嗎?我使用Windows/Linux系統。
PDF來源:https://zh.z-library.se/book/3355492/93d409/classical-mechanics.html
答案1
答案2
透過 PDF 十六進位編輯器從該版本中刪除(解壓縮後)但是,這將是一個基於人類經驗的「一次性」練習,因此不容易編程。
從有錯誤的文件開始。使用任何 PDF 解壓縮器解壓縮,就像在 PDF 閱讀器/編輯器中一樣。檢查是否無法新增信任此簽名。
已驗證它不可信,因此可以透過刪除無效簽名來修正它。
確定簽名入口點
<</Type/Annot/FT/Sig/MK<<>>
並將其刪除(但在記下所有其他連結地址之前),因此將該物件編號設為f
對於父物件刪除連結的/註釋
<</Type/Page/Annots 3330 0 R/Contents 3162 0 R/Cr....
<</Type/Page /Contents 3162 0 R/Cr..
注意 3330 連結到 3306,因此將兩個物件設定為
f
人工觀察簽名的雙重輸入(失敗的可能原因)因此遵循鏈到中性對象 3362 和兩個簽名對象。
檢查文件未損壞且 PDF 現在有效。因此,如上所示,沒有簽名,並且可以選擇使用其他人的簽名重新簽名。
(可選)重新壓縮並刪除所有已清除的故障。
# 物件 = /Size 4976 之前
# 物件 = /Size 4950 之後
解壓縮器將以不同的方式進行。因此,對於上面未壓縮的 PDFTK 範例,預告片中的起始物件數將顯示為 /Size 4955(因此已完成一些內務處理),並且我們尋求的初始目標為
2801 0 obj << /MK << >> /P 1549 0 R /Subtype /Widget /V 4007 0 R /T (Enfocus Preflight) /Type /Annot /Rect [-10 -10 -10 -10] /FT /Sig >> endobj
父級是/P 1549 0 R
1549 0 obj ....../Parent 67 0 R /Contents 2256 0 R /Annots 2257 0 R /Type /Page...
需要更改以刪除 /Annot 小工具參考
1549 0 obj ....../Parent 67 0 R /Contents 2256 0 R /Type /Page...
我們現在需要開始追蹤每個物件的數字位置以供稍後使用。所以轉到 2275 並記下它小數十六進位編輯中的位址。
墓誌銘https://en.wikipedia.org/wiki/Herbert_Goldstein
有該作品中仍存在編輯錯誤因此,最好等待來自相同或替代來源的死後第四版。