Làm cách nào tôi có thể tìm thấy sự khác biệt trong các tệp PDF giống hệt nhau? [bản sao]


1

Câu hỏi này đã có câu trả lời ở đây:

Tôi có hai tệp PDF trông giống nhau khi xem hoặc in, diffcó nội dung nhị phân và khác nhau. Làm thế nào tôi có thể tìm ra sự khác biệt là gì?

Tôi thích một câu trả lời sẽ chạy trên Mac OS X hoặc trên OpenSUSE.


Vì bạn đề cập đến difftôi giả sử bạn đang sử dụng một số loại Unix?
terdon

Mac OS X, với MacPorts. Tôi đã tìm thấy exiftoolmột phần câu trả lời của mình trong khi tôi đang soạn câu hỏi, nghĩ rằng tôi có thể thêm chi tiết đó vào câu trả lời của mình và sau đó nhận được thông báo rằng tôi không thể trả lời câu hỏi của chính mình trong 8 giờ.
ShadSterling

Tôi có thể sử dụng bất kỳ câu trả lời nào sẽ chạy trên Mac OS X hoặc trên OpenSUSE, nhưng trên tinh thần đưa ra câu trả lời hữu ích cho mọi người, tôi sẽ hoan nghênh các câu trả lời chỉ hoạt động trên các hệ thống khác.
ShadSterling

Câu hỏi đó dường như là về sự khác biệt có thể nhìn thấy, không phải là sự khác biệt vô hình và yêu cầu một giải pháp dành riêng cho nền tảng.
ShadSterling

Câu trả lời:


0

Để bắt đầu, tôi sẽ thử stringscác tệp đó và xem qua grep "rdf"để xem cái gì sẽ xuất hiện.

strings x.pdf | grep "rdf"

Hãy giải thích tại sao bạn sẽ làm điều này. Câu trả lời bạn đưa ra là loại chỉ dành cho người trong cuộc. Kiểm tra cách trả lời .
người dùng 99572 vẫn ổn vào

Tôi không chắc là tôi làm theo. @Polyergic hỏi cách tìm sự khác biệt. Nếu đó là một cái gì đó như ngày tạo hoặc sửa đổi được nhúng trong PDF (siêu dữ liệu rdf), các lệnh ở trên sẽ tìm thấy điều đó. Không có nhiều bối cảnh về những gì chúng ta cần tìm hiểu, thật khó để đưa ra một câu trả lời cụ thể hơn. Và tôi cho rằng sử dụng Acrobat là không cần thiết.
Stefan Ludwig

stringskhông tìm thấy sự khác biệt, nó trích xuất chuỗi. Tôi ủng hộ điều này bởi vì nó hữu ích, nhưng rõ ràng danh tiếng của tôi quá thấp để thừa nhận câu trả lời hữu ích nhưng không đầy đủ cho câu hỏi của riêng tôi.
ShadSterling

Thật tuyệt khi biết rằng nó có thể được thực hiện với Acrobat, nhưng tôi sẽ không thể sử dụng câu trả lời đó.
ShadSterling

0

Trong các shell hỗ trợ Substutition Process (xem trong Q317819 ), diffcó thể được cung cấp đầu ra của bất kỳ lệnh nào tạo ra biểu diễn văn bản - ví dụ exiftool:

diff -u <(exiftool -a -v one.pdf) <(exiftool -a -v two.pdf)

Đề xuất của Stefanstrings cũng tạo ra một đại diện văn bản và có thể được sử dụng theo cách tương tự:

diff -u <(strings one.pdf) <(strings two.pdf)

Đầu ra từ exiftoolhoặc stringstương đối dễ đọc, nhưng không đại diện cho toàn bộ tệp. exiftoolchỉ hiển thị siêu dữ liệu và stringschỉ hiển thị các trích đoạn có 4 hoặc nhiều byte văn bản ASCII hợp lệ; những khác biệt không được công nhận là siêu dữ liệu hoặc chuỗi ASCII sẽ không được tìm thấy. Một đại diện văn bản không thể đọc được nhưng đầy đủ có thể được thực hiện với od:

diff -u <(od -vcw one.pdf) <(od -vcw two.pdf)

(Nếu odkhông có sẵn, một đại diện văn bản thậm chí ít có thể đọc nhưng vẫn hoàn toàn có thể được thực hiện với hexdumphoặc hexcat, trong MacPorts , việc thực hiện GNU của odtôi được cài đặt như god. Không phải tất cả việc triển khai hỗ trợ các tùy chọn tương tự.)

Phương pháp rõ ràng nhất có sẵn để xem tất cả các khác biệt và xem ý nghĩa của càng nhiều sự khác biệt càng tốt là sử dụng từng phương thức này trên cùng hai tệp.

Tôi tin rằng mọi HĐH máy tính để bàn hiện đại khác ngoài Windows đều có vỏ hỗ trợ Thay thế quy trình được cài đặt theo mặc định; Một số shell như vậy có sẵn cho Windows, nhưng bạn sẽ phải vượt qua một số vòng để chúng hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.